home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
INTER53D.ZIP
/
INTERRUP.O
< prev
next >
Wrap
Text File
|
1997-01-12
|
182KB
|
5,137 lines
Interrupt List, part 15 of 16
Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997 Ralf Brown
--------V-79---------------------------------
INT 79 - AVATAR.SYS - FAST GET KEYSTROKE
Return: CF set if no keystroke available
AX = FFFFh
CF clear if key pressed
AX = keystroke
Program: AVATAR.SYS is a CON driver by George Adam Stanislav which interprets
AVATAR command codes just as ANSI.SYS interprets ANSI commands
Note: if a keystroke is available, it is removed from the keyboard buffer
before being returned
SeeAlso: INT 29,INT 2F/AX=1A00h/BX=4156h
--------E-79---------------------------------
INT 79 - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ1
Notes: this vector is overwritten when GO32 starts but is not restored by
early versions of the extender
the newest versions of GO32 dynamically allocate the vectors used
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 09,INT 78"GO32",INT 7A"GO32"
--------d-79---------------------------------
INT 79 U - ADP-60 IDE adapter - ???
SeeAlso: INT 78"ADP-60"
--------E-79---------------------------------
INT 79 - DBOS DOS Extender
details not available
Desc: this interrupt is used by an MS Windows virtual device driver with
which the DBOS extender communicates when run inside a Windows
Enhanced Mode DOS box
SeeAlso: INT 78"DBOS"
--------A-790001-----------------------------
INT 79 R - AutoCAD Device Interface - DIGITIZER - INITIALIZE
AX = 0001h
BX = interface level (0001h)
Return: AX = status (0000h initialization failed, 0001h init successful)
BX = digitizer type
0000h relative pointing device (mouse, etc.)
0001h digitizing tablet
CX = digitizer dataflow type
0000h continuous
0001h pauses between packets
SeeAlso: AX=0002h,AX=0003h,INT 7A/AX=0001h"AutoCAD"
--------A-790002-----------------------------
INT 79 R - AutoCAD Device Interface - DIGITIZER - TERMINATE
AX = 0002h
SeeAlso: AX=0001h,AX=0003h
--------A-790003-----------------------------
INT 79 R - AutoCAD Device Interface - DIGITIZER - GET DIGITIZER STATUS
AX = 0003h
Return: AX = status
0000h nothing
0002h tracking point (no button pressed)
BX = X coordinate
CX = Y coordinate
0003h picked point (button 0,A,B,C,D pressed)
BX = X coordinate
CX = Y coordinate
0004h button pick
BX = button number
0005h button and coordinates
BX = button number
CX = X coordinate
DX = Y coordinate
SeeAlso: AX=0001h,AX=0002h
--------N-7A---------------------------------
INT 7A U - Topware Network Operating System - ???
AL = ???
???
Return: ???
SeeAlso: INT 21/AX=FF00h"Topware",INT 2F/AX=FF00h
--------N-7A---------------------------------
INT 7A - X.PC Packet software interface
ES:BX -> parameter block
SeeAlso: INT 60/AX=01FFh
--------E-7A---------------------------------
INT 7A - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ2
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
Notes: this vector is overwritten when GO32 starts but is not restored by
early versions of the extender
the newest versions of GO32 dynamically allocate the vectors used
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0A"IRQ2",INT 79"GO32",INT 7B"GO32"
--------P-7A---------------------------------
INT 7A O - PRINDIR - API (moved to INT 7C, then INT 2F/AX=7F00h)
SeeAlso: INT 7C"PRINDIR",INT 2F/AX=7F00h"PRINDIR"
--------N-7A---------------------------------
INT 7A - Novell NetWare - LOW-LEVEL API - Notes
Note: this interrupt is used for IPX/SPX access in NetWare versions through
2.0a; in later versions, you should use INT 2F/AX=7A00h to get an
entry point even though INT 7A still exists. For both INT 7A and
the FAR entry point, BX contains the function number; IPX is
sometimes called internally with BX bit 15 set, which causes the
handler to bypass some initial checks and an optional call to the
IPX Windows support handler set with INT 2F/AX=7AFFh/BX=0000h
(see #2204)
SeeAlso: INT 2F/AX=7A00h,INT 64"Novell",INT 7A/BX=0000h
--------N-7A----BX0000-----------------------
INT 7A - Novell NetWare - IPX Driver - OPEN SOCKET
BX = 0000h
AL = socket longevity
00h open until close or terminate
FFh open until close
DX = socket number (high byte in DL)
0000h dynamic allocation
else socket to open (see #3058)
Return: AL = return code
00h success
DX = socket number
FEh socket table full
FFh socket already open
Notes: TSRs which need to use sockets should set AL to FFh, non-resident
programs should normally use AL=00h
IPX can be configured to support up to 150 open sockets on a
workstation, and defaults to 20
this function is supported by Advanced NetWare 1.02+
SeeAlso: INT 7A/BX=0001h,INT 7A/BX=0004h,INT 7A/BX=0023h
(Table 3058)
Values for IPX socket number:
0451h File Service (NetWare Core Protocol)
0452h Service Advertising Protocol (see #3066)
0453h Routing Information Packet (see #3069)
0455h NetBIOS Packet
0456h diagnostics
0457h server serial numbers (labeled "Copy Protection" by Lanalyzer)
2222h NetWare Core Protocol
4000h-7FFFh used for dynamic allocation
4444h Brightwork Development's SiteLock server
5555h Brightwork Development's SiteLock client (workstation)
8000h-FFFFh assigned by Novell
869Ch ID Software's DOOM
Note: SiteLock is an application metering product using IPX to communicate
between the application and the license server
--------N-7A----BX0001-----------------------
INT 7A - Novell NetWare - IPX Driver - CLOSE SOCKET
BX = 0001h
DX = socket number (high byte in DL) (see #3058)
Notes: also cancels events set by any Event Control Blocks for the socket
the program must close all open sockets before terminating
this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0000h
--------N-7A----BX0002-----------------------
INT 7A - Novell NetWare - IPX Driver - GET LOCAL TARGET
BX = 0002h
ES:SI -> target internetwork address (see #3073 at INT 7A/BX=000Bh)
ES:DI -> 6-byte buffer for local target
Return: AL = return code
00h success
CX = expected one-way transfer time (clock ticks) for a 576-byte
packet
ES:DI -> local target
FAh unsuccessful (no path to destination)
Notes: the internetwork address consists of a 4-byte network address followed
by a 6-byte node address. The local target is only a 6-byte node
address. If the target is in the same network, the local target is
just the node address of target; otherwise, the local target is the
node address of the bridge that leads to the target.
this function may be called from inside IPX and AES Event Service
Routines, but not from other interrupt handlers
this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0009h
--------N-7A----BX0003-----------------------
INT 7A - Novell NetWare - IPX Driver - SEND PACKET
BX = 0003h
ES:SI -> Event Control Block (see #3059,#3060)
Notes: returns immediately; IPX attempts to send the packet in the background
this function is supported by Advanced NetWare 1.02+
this function is nearly identical to BX=000Fh, except that it always
copies the source address into the IPX header assumed to be at the
beginning of the first fragment
SeeAlso: BX=0004h,BX=000Fh,INT 21/AH=EEh"Novell"
Format of IPX Event Control Block:
Offset Size Description (Table 3059)
00h DWORD Link
04h DWORD -> Event Service Routine (00000000h if none) (see #3063)
08h BYTE in use flag (see #3061)
09h BYTE completion code (see #3062)
0Ah WORD (big-endian) socket number (see #3058)
0Ch 4 BYTEs IPX workspace
10h 12 BYTEs driver workspace
1Ch 6 BYTEs immediate local node address
22h WORD fragment count
24h var fragment descriptors
Offset Size Description
00h DWORD -> fragment data
04h WORD size of fragment in bytes.
Notes: ESR is a far procedure that is called when the ECB has been handled.
On call, the in use flag is zero if the ECB has been handled,
non-zero otherwise. If the flag is zero, the completion code holds
the result of the event.
the first fragment should start with an IPX header (see #3064)
all fragments are concatenated and sent in one piece
node address FFh FFh FFh FFh FFh FFh broadcasts to all nodes
SeeAlso: #3060
Format of AES-ECB:
Offset Size Description (Table 3060)
00h DWORD Link
04h DWORD ESR (Event Service Routine) address (see #3063)
08h BYTE in use flag (see #3061)
09h 5 BYTEs AES workspace
SeeAlso: #3059
(Table 3061)
Values for ECB in use flag:
00h available
E0h AES temporary
F6h \ special IPX/SPX processing for v3.02+
F7h /
F8h IPX in critical section
F9h SPX listening
FAh processing
FBh holding
FCh AES waiting
FDh AES couting down delay time
FEh awaiting packet reception
FFh sending packet
SeeAlso: #3059,#3060,#3062
(Table 3062)
Values for ECB completion code:
00h success
ECh remote terminated connection without acknowledging packet
EDh abnormal connection termination
EEh invalid connection ID
EFh SPX connection table full
F9h event should not be cancelled
FAh cannot establish connection with specified destination
FCh cancelled
FDh malformed packet
FEh packet undeliverable
FFh physical error
SeeAlso: #3059,#3061
(Table 3063)
Values Event Service Routine is called with:
AL = caller's identity (00h = AES, FFh = IPX)
ES:SI -> event control block
interrupts disabled
Return: all registers preserved
SeeAlso: #3059,#3064
Format of IPX header:
Offset Size Description (Table 3064)
00h WORD (big-endian) checksum
02h WORD (big-endian) length in bytes of total packet
04h BYTE transport control
05h BYTE packet type (see #3065)
06h 10 BYTEs destination internetwork address
10h WORD (big-endian) destination socket
12h 10 BYTEs source internetwork address
1Ch WORD (big-endian) source socket
Notes: an IPX packet has the identical format as a Xerox Network Standard
(XNS) packet
the application must set packet type, destination address, and
destination socket; IPX/SPX set the remaining fields
SeeAlso: #3059,#3075
(Table 3065)
Values for IPX packet type:
00h unknown packet type
01h routing information packet
02h echo packet
03h error packet
04h packet exchange packet (always use this one for data)
05h SPX packet (see #3075)
11h NetWare Core Protocol
14h Propagated Packet (for NetWare), NetBIOS name packet
15h-1Eh experimental protocols
Note: undocumented packet type 14h will cross up to 16 networks deep in
all directions; as Aaron Martin of Origin Systems discovered, the
first 64 bytes of the IPX data in such packets should be considered
reserved, as IPX places the traversed server nodes there.
Format of Service Advertising Protocol Service Query Packet:
Offset Size Description (Table 3066)
00h 30 BYTEs IPX header
1Eh WORD (big-endian) query type
0001h general find service
0003h find nearest server
20h WORD (big-endian) server type
(see #1224 at INT 21/AH=E3h"CONNECTION CONTROL")
SeeAlso: #3067
Format of Service Advertising Protocol Server Identification Packet:
Offset Size Description (Table 3067)
00h 30 BYTEs IPX header
1Eh WORD (big-endian) response type
0002h general service
0004h nearest service
20h 64N BYTEs server entries (1-7) (see #3068)
SeeAlso: #3066,#3069
Format of SAP server entry:
Offset Size Description (Table 3068)
00h WORD (big-endian) server type
(see #1224 at INT 21/AH=E3h"CONNECTION CONTROL")
02h 48 BYTEs ASCIZ server name
32h 2 WORDs (big-endian) network number
34h 3 WORDs (big-endian) node number
3Ch WORD (big-endian) socket number
3Eh WORD (big-endian) number of hops between caller and server
10h = Server Shutdown Advertising Packet
SeeAlso: #3067
Format of IPX Routing Information packet:
Offset Size Description (Table 3069)
00h 30 BYTEs IPX header
1Eh WORD operation (0001h request, 0002h response)
20h 8N BYTEs network entries (1-50) (see #3070)
SeeAlso: #3067
Format of RIP network entry:
Offset Size Description (Table 3070)
00h DWORD network number (FFFFFFFFh = general request)
04h WORD (response) number of hops
06h WORD (response) number of clock ticks to reach destination
--------N-7A----BX0004-----------------------
INT 7A - Novell NetWare - IPX Driver - LISTEN FOR PACKET
BX = 0004h
ES:SI -> Event Control Block (see BX=0003h)
Return: AL = status
00h successful
FFh no listening socket for packet
Desc: this function provides IPX with an ECB for receiving an IPX packet, but
does not wait for a packet to arrive
Notes: the application must open a socket and initialize the ECB's ESR
address, socket number, fragment count, and fragment descriptor
fields before invoking this function
there is no limit on the number of ECBs which may simultaneously be
listening on a socket
this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0000h,BX=0003h
--------N-7A----BX0005-----------------------
INT 7A - Novell NetWare - IPX Driver - SCHEDULE IPX EVENT
BX = 0005h
AX = delay time in clock ticks
ES:SI -> Event Control Block (see BX=0003h)
Note: this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0006h,BX=0007h,BX=0008h
--------N-7A----BX0006-----------------------
INT 7A - Novell NetWare - IPX Driver - CANCEL EVENT
BX = 0006h
ES:SI -> Event Control Block (see BX=0003h)
Return: AL = return code (see #3071)
Notes: cannot cancel packets which the node's driver has already sent
this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0005h
(Table 3071)
Values for IPX return code:
00h success
F9h event in use
FCh event cancelled
FFh unsuccessful, event not in use, or unrecognized ECB flag
--------N-7A----BX0007-----------------------
INT 7A - Novell NetWare - IPX Driver - SCHEDULE SPECIAL EVENT
BX = 0007h
AX = delay time
ES:SI -> Event Control Block (see BX=0003h)
Note: this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0006h
--------N-7A----BX0008-----------------------
INT 7A - Novell NetWare - IPX Driver - GET INTERVAL MARKER
BX = 0008h
Return: AX = interval marker in clock ticks (big-endian???)
Notes: may be used to measure the time elapsed between two events, up to one
hour
this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0005h
--------N-7A----BX0009-----------------------
INT 7A - Novell NetWare - IPX Driver - GET INTERNETWORK ADDRESS
BX = 0009h
ES:SI -> buffer for own internetwork address (see #3072)
Return: ES:SI buffer filled
SI destroyed
Note: this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0002h,BX=000Bh
Format of IPX internetwork address:
Offset Size Description (Table 3072)
00h 4 BYTEs (big-endian) network number
04h 6 BYTEs (big-endian) node number within network
--------N-7A----BX000A-----------------------
INT 7A - Novell NetWare - IPX Driver - RELINQUISH CONTROL
BX = 000Ah
Desc: this call indicates that the application is idle and permits the IPX
driver to do some work
Note: this function is supported by Advanced NetWare 1.02+
SeeAlso: INT 15/AX=1000h,INT 21/AH=89h,INT 2F/AX=1680h
--------N-7A----BX000B-----------------------
INT 7A - Novell NetWare - IPX Driver - DISCONNECT FROM TARGET
BX = 000Bh
ES:SI -> internetwork address (see #3073)
Return: nothing
Notes: this function permits the network software on the remote machine to
remove any virtual connection with the calling machine
only use in point-to-point networks
should never be called from within an Event Service Routine
this function is supported by Advanced NetWare 1.02+
SeeAlso: BX=0002h,BX=0009h
Format of IPX internetwork address:
Offset Size Description (Table 3073)
00h 4 BYTEs (big-endian) destination network
04h 6 BYTEs (big-endian) destination node
0Ah 2 BYTEs (big-endian) destination socket
--------N-7A----BX000C-----------------------
INT 7A U - Novell NetWare - IPX Driver - internal - INITIALIZE NETWORK ADDRESS
BX = 000Ch
CX:DX = global network address (see INT 7A/BX=0002h)
ES:DI -> "OSINCRITICALSECTION" flag
DS:SI -> current mode for socket
Note: the address cannot be changed once it has been initialized
SeeAlso: INT 7A/BX=0024h
--------N-7A----BX000D-----------------------
INT 7A U - Novell NetWare - IPX Driver - internal - IPX GET PACKET SIZE
BX = 000Dh
Return: AX = maximum packet size
CX = retry count
SeeAlso: BX=001Ah
--------N-7A----BX000E-----------------------
INT 7A U - Novell NetWare - IPX Driver - internal - TERMINATE SOCKETS
BX = 000Eh
Return: nothing
Notes: this function terminates all sockets opened with the current mode; this
may be intended for future enhancements as the socket mode never
changes in v2.15
called by the NetWare shell if a program terminates
--------N-7A----BX000F-----------------------
INT 7A - Novell NetWare - IPX Driver - INTERNAL - SEND PACKET
BX = 000Fh
ES:SI -> Event Control Block (see BX=0003h)
Note: nearly identical to function 0003h, but does not copy address into
the first fragment, and bypasses normal error checking
SeeAlso: BX=0003h
--------N-7A----BX0010-----------------------
INT 7A - Novell NetWare - SPX Driver - INSTALLATION CHECK
BX = 0010h
AL = 00h
Return: AL = status
00h if SPX not installed
F0h if IPX not installed
FFh if SPX loaded
BH = SPX major version
BL = SPX minor version
CX = maximum SPX connections
DX = SPX connections available
Notes: this function is supported by Advanced NetWare 2.1+
this interrupt is used for IPX/SPX access in NetWare versions through
2.0a; in later versions, you should use INT 2F/AX=7A00h to get an
entry point even though INT 7A still exists. For both INT 7A and
the FAR entry point, BX contains the function number
IPX is sometimes called internally with BX bit 15 set, which causes the
entry point handler to bypass some checks and an optional call to
the IPX Windows support handler set with INT 2F/AX=7AFFh/BX=0000h
(see #2204)
SeeAlso: BX=0015h
--------N-7A----BX0011-----------------------
INT 7A - Novell NetWare - SPX Driver - ESTABLISH SPX CONNECTION
BX = 0011h
AL = retry count
AH = watchdog flag
ES:SI -> Event Control Block (see #3059 at BX=0003h)
Return: AL = status (00h,EFh,FDh,FFh) (see #3074)
DX = assigned connection ID number
Desc: attempt to establish a connection with a listening socket
Notes: there should always be at least two SPX ECB's listening to a socket, so
that NetWare can perform its internal packet exchanges
the first fragment should start with a SPX header (see #3075). Fill
in all destination addresses.
this function is supported by Advanced NetWare 2.1+
SeeAlso: BX=0000h,BX=0012h,BX=0013h,BX=0014h,BX=0015h
(Table 3074)
Values for SPX function status:
00h attempting to contact destination socket
EEh no such connection
EFh local connection table full
FDh buffer size not 42 or fragment count not 1
FFh sending socket not open
Format of SPX header:
Offset Size Description (Table 3075)
00h WORD (big-endian) checksum
02h WORD (big-endian) length in bytes of total packet
04h BYTE transport control
05h BYTE packet type (see #3065 at INT 7A/BX=0003h)
06h 10 BYTEs destination internet address
10h WORD (big-endian) destination socket
12h 10 BYTEs source internet address
1Ch WORD (big-endian) source socket
1Eh BYTE connection control (see #3076)
1Fh BYTE datastream type
FEh terminate connection request packet
FFh terminate connection acknowledgement packet
other user-defined, ignored by SPX
20h WORD (big-endian) source connection ID
22h WORD (big-endian) destination connection ID
24h WORD (big-endian) sequence number
26h WORD (big-endian) acknowledge number
28h WORD (big-endian) allocation number
SeeAlso: #3064
Bitfields for SPX connection control:
Bit(s) Description (Table 3076)
3-0 unused???
4 end of message
5 reserved
6 acknowledgement required
7 system packet
--------N-7A----BX0012-----------------------
INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX CONNECTION
BX = 0012h
AH = watchdog flag (00h disabled, 01h enabled)
AL = retry count (00h = default)
ES:SI -> Event Control Block (see #3059 at BX=0003h)
Return: nothing
Notes: there should always be at least two SPX ECB's listening to a socket, so
that NetWare can perform its internal packet exchanges
this function is supported by Advanced NetWare 2.1+
SeeAlso: BX=0011h,BX=0013h,BX=0014h
--------N-7A----BX0013-----------------------
INT 7A - Novell NetWare - SPX Driver - TERMINATE SPX CONNECTION
BX = 0013h
DX = connection ID to terminate
ES:SI -> Event Control Block (see #3059 at BX=0003h)
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: BX=0011h,BX=0012h,BX=0014h
--------N-7A----BX0014-----------------------
INT 7A - Novell NetWare - SPX Driver - ABORT SPX CONNECTION
BX = 0014h
DX = connection ID to terminate
Return: nothing
Notes: this function is supported by Advanced NetWare 2.1+
this function does not tell the other side that the connection has been
terminated
also aborts any outstanding Establish Connection, Terminate Connection,
and Send Sequenced Packet commands
SeeAlso: BX=0011h,BX=0013h
--------N-7A----BX0015-----------------------
INT 7A - Novell NetWare - SPX Driver - GET SPX CONNECTION STATUS
BX = 0015h
DX = connection ID
ES:SI -> status buffer (see #3077)
Return: AL = return code (00h,EEh) (see also #3074)
00h connection still valid
ES:SI -> status buffer filled
Note: this function is supported by Advanced NetWare 2.1+
SeeAlso: BX=0010h,BX=0011h
Format of SPX status buffer:
Offset Size Description (Table 3077)
00h BYTE connection state
01h waiting to establish connection
02h starting (attempting to create connection)
03h connection established
04h terminating
01h BYTE watchdog flag
bit 0: used internally by SPX
bit 1: SPX watchdog is monitoring connection
bits 2-7 used internally by SPX
02h WORD (big-endian) source connection ID
04h WORD (big-endian) destination connection ID
06h WORD (big-endian) sequence number of next packet sent
08h WORD (big-endian) acknowledge number, expected sequence number of
next received packet
0Ah WORD (big-endian) maximum sequence number remote SPX may send
without ACK from local SPX
0Ch WORD (big-endian) remote acknowledge number, next sequence number
remote SPX expects to receive
0Eh WORD (big-endian) remote allocation number, maximum sequence number
local SPX may send
10h WORD (big-endian) connection socket
12h 6 BYTEs immediate node address--bridge on local network to destination
18h 10 BYTEs destination internetwork address (see #3073 at INT 7A/BX=000Bh)
22h WORD (big-endian) retransmit count
24h WORD (big-endian) estimated roundtrip delay
26h WORD (big-endian) retransmitted packets
28h WORD (big-endian) suppressed packets
2Ah 12 BYTEs ??? (v2.15)
--------N-7A----BX0016-----------------------
INT 7A - Novell NetWare - SPX Driver - SEND SPX PACKET
BX = 0016h
DX = connection ID
ES:SI -> Event Control Block (see BX=0003h)
Notes: this function is supported by Advanced NetWare 2.1+
CX may need to be 0001h ???
SeeAlso: BX=0011h,BX=0017h
--------N-7A----BX0017-----------------------
INT 7A - Novell NetWare - SPX Driver - LISTEN FOR SPX PACKET
BX = 0017h
DX = connection ID (unused in v2.15)
ES:SI -> Event Control Block (see BX=0003h)
Notes: this function is supported by Advanced NetWare 2.1+
CX may need to be 0001h ???
SeeAlso: BX=0011h,BX=0016h
--------N-7A----BX0018-----------------------
INT 7A U - Novell NetWare - IPX Driver - internal - ADD DIAGNOSTIC ELEMENT
BX = 0018h
ES:SI -> diagnostic element (see #3078) to be added to Diagnostic Queue
Note: this function is supported on file servers only under v2.15; v3.02 also
supports it on workstations
SeeAlso: BX=0019h
Format of IPX diagnostic element:
Offset Size Description (Table 3078)
00h DWORD pointer to next diagnostic element
04h DWORD pointer to function for ???
08h DWORD pointer to function for ???
--------N-7A----BX0019-----------------------
INT 7A U - Novell NetWare - IPX Driver - internal - CANCEL DIAGNOSTIC ELEMENT
BX = 0019h
ES:SI -> diagnostic element (see BX=0018h) to be removed
Note: this function is supported on file servers only under v2.15; v3.02 also
supports it on workstations
SeeAlso: BX=0018h
--------N-7A----BX001A-----------------------
INT 7A - Novell NetWare - IPX Driver - GET DRIVER MAXIMUM PACKET SIZE
BX = 001Ah
Return: AX = maximum packet size with preamble (at least 576 bytes)
CX = IPX retry count
DS,FLAGS preserved
SeeAlso: BX=000Dh
--------N-7A----BX001B-----------------------
INT 7A U - Novell NetWare - IPX Driver - INTERNAL
BX = 001Bh
???
Return: ???
Notes: this function is supported on file servers only under v2.15; v3.02 also
supports it on workstations
used by NetWare Access Server, which may call INT 15/AX=1117h with
BX=0000h in some cases (it uses a modified DESQview)
--------N-7A----BX001C-----------------------
INT 7A U - Novell NetWare - NetWare Access Server - GET ???
BX = 001Ch
Return: AX = length of ???
ES:BX -> ???
Notes: these functions are NOPs for standard IPX drivers such as IPXODI v2.12
SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Dh,INT 7A/BX=001Eh
--------N-7A----BX001D-----------------------
INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB AND SOCKET
BX = 001Dh
Return: DX = socket number chosen by IPX
ES:SI -> ECB in IPX's code segment (will be listening)
BX corrupted
Notes: these functions are NOPs for standard IPX drivers such as IPXODI v2.12
SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Ch,INT 7A/BX=001Eh
--------N-7A----BX001E-----------------------
INT 7A U - Novell NetWare - NetWare Access Server - GET ??? ECB
BX = 001Eh
Return: ES:SI -> ECB
BX corrupted
Notes: these functions are NOPs for standard IPX drivers such as IPXODI v2.12
SeeAlso: INT 2F/AX=7AF1h,INT 7A/BX=001Ch,INT 7A/BX=001Dh
--------N-7A----BX001F-----------------------
INT 7A - Novell NetWare - IPXODI v2.12+ - GET IPX INFORMATION
BX = 001Fh
DX = 0000h
Return: AX = ???
BX:CX -> ??? entry point (see #3079) (undocumented)
DX = feature flags
bit 0: IPXODI rather than dedicated IPX
bit 1: checksumming functions 0020h-0022h supported
ES:SI -> array of words containing used socket number (undocumented);
0000h ends array
all other registers except DS and FLAGS may be destroyed
Note: IPXODI v2.12 is distributed as part of the Personal NetWare system
bundled with Novell DOS 7
SeeAlso: BX=0020h,INT 2F/AX=7A2Fh
(Table 3079)
Call IPXODI entry point with:
ES:SI -> ECB??? (offset 24h is far pointer to ??? data)
--------N-7A----BX0020-----------------------
INT 7A - Novell NetWare - IPXODI v2.12+ - SEND WITH CHECKSUM
BX = 0020h
ES:SI -> ECB (see #3059 at INT 7A/BX=0003h)
Return: DS,FLAGS preserved
BX,BP corrupted (documented as potentially destroying all other regs)
Desc: generate a checksum for the packet data and store it in the IPX
checksum field before transmitting the packet
SeeAlso: BX=001Fh,BX=0021h,BX=0022h,INT 2F/AX=7A2Fh
--------N-7A----BX0021-----------------------
INT 7A - Novell NetWare - IPXODI v2.12+ - IPX GENERATE CHECKSUM
BX = 0021h
ES:SI -> ECB data (see #3059 at INT 7A/BX=0003h)
Return: ES,DS,SI preserved
BX,BP corrupted, all other registers potentially destroyed
Notes: the checksum and TransportControl fields of the IPX packet are updated
this function enables interrupts and is fully reentrant
SeeAlso: BX=001Fh,BX=0020h,BX=0022h,INT 2F/AX=7A2Fh
--------N-7A----BX0022-----------------------
INT 7A - Novell NetWare - IPXODI v2.12+ - IPX VERIFY CHECKSUM
BX = 0022h
ES:SI -> ECB data (see #3059 at INT 7A/BX=0003h)
Return: AX = status (0000h checksum matches)
DS,ES,SI preserved
BX,BP corrupted, all other registers potentially destroyed
Note: this function enables interrupts and is fully reentrant
SeeAlso: BX=001Fh,BX=0020h,BX=0021h,INT 2F/AX=7A2Fh
--------N-7A----BX0023-----------------------
INT 7A - Novell NetWare - IPXODI v2.12+ - OPEN LOOK-AHEAD SOCKET
BX = 0023h
DX = socket number (0000h for dynamic allocation)
ES:SI -> Look Ahead handler (see #3080)
BP = desired lookahead size (0000h-0080h)
Return: AL = status
00h successful
DX = assigned socket number (big-endian)
FEh maximum number of sockets already open
FFh specific socket already opened by another application
DS,FLAGS preserved
all other registers may be destroyed
Notes: the socket will always be long-lived, and must thus be explicitly
closed with INT 7A/BX=0001h before the Look Ahead handler code is
removed from memory (i.e. the program terminates)
this function is only supported if INT 2F/AX=7A00h returns ES:BX
pointing at an IPX version greater than 3.30
the desired lookahead size is the smallest-size packet (including IPX
header) that should be passed to the lookahead handler when it
arrives
SeeAlso: INT 7A/BX=0000h,INT 7A/BX=0001h
(Table 3080)
Call IPX Look-Ahead handler with:
AX = packet's destination socket
DS:SI -> look-ahead structure (see #2280 at INT 2F/AX=C000h"LSL")
DF clear
interrupt disabled (must remain disabled)
Return: AX = packet use
0000h application want packet
ES:SI -> ODI ECB (see #2281 at INT 2F/AX=C000h"LSL")
8001h application does not want packet
ZF set if AX=0000h
DS,DI,BP,SS,SP preserved
interrupts disabled
--------N-7A----BX0024-----------------------
INT 7A U - Novell NetWare - IPXODI v2.20+ - SET INTERNETWORK ADDRESS
BX = 0024h
ES:SI -> buffer containing internetwork address (see #3073)
Return: BX,CX,SI,DI,ES destroyed
Note: this function differs from INT 7A/BX=000Ch in that it unconditionally
sets the address
SeeAlso: INT 7A/BX=000Ch
--------A-7A0001-----------------------------
INT 7A R - AutoCAD Device Interface - DISPLAY - INITIALIZE (INIT1)
AX = 0001h
BX = configuration
CX = interface level (0001h)
Return: AX = status
0000h initialization failed
0001h pre-v4.0 driver initialized successfully
0003h post-v3.1 driver initialized successfully (driver truncates
excessivly long packets)
BX = width of graphics area in pixels, or 0000h if using packet
communication
DX:CX -> packet-mode entry point (see #3081)
SeeAlso: AX=0001h,AX=0200h,AX=07D0h,INT 61/AX=0007h"OPTIMA",INT 78"AutoCAD"
SeeAlso: INT 79/AX=0001h,INT 7B/AX=8001h"AutoCAD",INT 7C"AutoShade"
(Table 3081)
Call packet-mode entry point with:
STACK: DWORD pointer to request packet (see #3082)
WORD length of packet
Format of request packet:
Offset Size Description (Table 3082)
00h WORD function number (00h-45h for Compaq VGADI41.EXE)
--------A-7A0200BX0000-----------------------
INT 7A R - AutoCAD Device Interface - RENDERING DEVICE - INITIALIZE (RDLINKUP)
AX = 0200h
BX = 0000h
CX = interface level (0001h)
Return: BX = 0000h (driver uses packet communication)
DX:CX -> packet-mode entry point (see #3081)
SeeAlso: AX=0001h"AutoCAD",INT 79/AX=0001h,INT 7B/AX=8001h"AutoCAD"
--------I-7A04-------------------------------
INT 7A - IBM 3270 Workstation Program API - CREATE A QUEUE
AH = 04h
???
Return: ???
SeeAlso: AH=06h
--------I-7A06-------------------------------
INT 7A - IBM 3270 Workstation Program API - DELETE A QUEUE
AH = 06h
???
Return: ???
SeeAlso: AH=04h
----------7A07D0-----------------------------
INT 7A R - AutoCAD Device Interface - Compaq VGADI41.EXE - GET ENTRY POINT
AX = 07D0h
Return: AX = ??? (0003h)
BX = 0000h
DX:CX -> ADI entry point (see AX=0001h)
SeeAlso: AX=0001h
--------I-7A09--BX8020-----------------------
INT 7A - IBM 3270 Workstation Program API - SESSION SERVICES
AH = 09h
BX = 8020h (synchronous request)
CX = 0000h
DX = ID of session manager (SESSMGR)
AL = service (see #3083)
ES:DI -> control block
Return: ???
(Table 3083)
Values for service:
01h get session ID
02h get session info
04h dettach from session
05h attach to session
06h get list of windows available
07h get environment of window
08h get 'PIF' (program information file) info
0Ah get base window ID
0Bh get cursor info
--------I-7A09--BX8020-----------------------
INT 7A - IBM 3270 Workstation Program API - KEYBOARD SERVICES
AH = 09h
BX = 8020h (synchronous request)
CX = 0000h
DX = ID of keyboard manager
AL = service number (see #3084)
ES:DI -> control block
Return: ???
(Table 3084)
Values for 3270 Workstation Program keyboard service:
01h connect to keyboard
02h disconnect from keyboard
03h read from keyboard
04h send keystroke to session
05h disable input
06h enable input
07h update status code
--------I-7A09--BX8020-----------------------
INT 7A - IBM 3270 Workstation Program API - WINDOW SERVICES
AH = 09h
BX = 8020h (synchronous request)
CX = 00FFh
DX = ID of window service controller (WSCTRL)
AL = service number (see #3085)
ES:DI -> control block
Return: ???
(Table 3085)
Values for 3270 Workstation Program window service:
01h connect to WS control
02h disconnect from WS control
03h add a window
04h change window's position on screen
05h change window's size
06h change window's color
07h change window's position in the presentation space
08h hide/unhide toggle
09h enlarge/reduce toggle
0Ah change screen background color
0Bh get window's position on screen
0Ch get window's size
0Dh get window's color
0Eh get window's position in the presentation space
0Fh determine whether hidden
10h determine whether enlarged
11h get background color
12h get window names
13h delete all windows from profile
14h pick active window
15h redraw screen
16h redraw window
17h delete a window from profile
18h get active window
19h get active screen
1Ah get window data
1Bh change window data
1Ch select active screen
--------I-7A09--BX8020-----------------------
INT 7A - IBM 3270 Workstation Program API - PRESENTATION SPACE SERVICES
AH = 09h
BX = 8020h
CX = 00FFh
DX = ID of PCPSM
AL = service
01h define presentation space
02h delete presentation space
03h display presentation space
04h position cursor in presentation space
05h change default presentation space
ES:DI -> control block
Return: ???
--------I-7A09--BX8020-----------------------
INT 7A - IBM 3270 Workstation Program API - 3270 EMULATION
AH = 09h
BX = 8020h
CX = 00FFh
DX = ID of 3270EML
AL = service
01h connect
02h disconnect
ES:DI -> control block
Return: ???
--------I-7A09--BX8020-----------------------
INT 7A - IBM 3270 Workstation Program API - OPERATOR INFORMATION AREA
AH = 09h
BX = 8020h
CX = 00FFh
DX = ID of OIAM
AL = service
01h read Operator Information Area
02h read OIA subset
ES:DI -> control block
Return: ???
Note: the OIA is the 25th line on the Host session
--------I-7A09--BX8020-----------------------
INT 7A - IBM 3270 Workstation Program API - TRANSLATE DATA
AH = 09h
BX = 8020h
CX = 00FFh
DX = ID of XLATE
AL = service
01h translate from host characters to ASCII and vice versa
(determined by control block byte 11)
ES:DI -> control block
Return: ???
--------I-7A09--BX8020-----------------------
INT 7A - IBM 3270 Workstation Program API - COPY SERVICE
AH = 09h
BX = 8020h
CX = 00FFh
DX = ID of copy service
AL = service
01h copy string from one presentation space to another
02h copy block from one presentation space to another
03h connect to PC session for copy
04h disconnect PC session from copy
ES:DI -> control block
Return: ???
--------I-7A09--BX8020-----------------------
INT 7A - IBM 3270 Workstation Program API - Multi-DOS
AH = 09h
BX = 8020h
CX = 00FFh
ES:DI -> control block
DX = ID of INDJQRY
get environment size
= ID of INDJASY
request DOS functions from workstation
= ID of MEMORY
AL = function
01h allocate memory
02h deallocate memory
03h modify allocated size
Return: ???
--------I-7A09-------------------------------
INT 7A - IBM 3270 Workstation Program API - HOST SERVICES
AH = 09h
BX = request type (4000h async, 8028h synchronous)
CX = 0000h
DX = ID of MFIC
AL = service (see #3086)
ES:DI -> control block
(Table 3086)
Values for 3270 Workstation Program host service:
01h connect to host
02h disconnect from host
03h read DFT structured data from host
04h write DFT structured data to host
05h create a host buffer
--------I-7A13-------------------------------
INT 7A - IBM 3270 Workstation Program API - GET DATA FROM A QUEUE
AH = 13h
???
Return: ???
----------7A7A-------------------------------
INT 7A - Canon IX-30F Image Scanner SI3.SYS - INTERFACE
AH = 7Ah
???
Return: AX = status
0000h success
000Eh undefined function code
Range: unknown, selected by device driver commandline arguments
--------I-7A81-------------------------------
INT 7A - IBM 3270 Workstation Program API - RESOLVE A GATE NAME
AH = 81h
ES:DI -> 8-char blank-padded gate name (see #3087)
Return: DX = gate ID
(Table 3087)
Values for 3270 Workstation Program gate name:
"SESSMGR "
"KEYBOARD"
"WSCTRL "
"MFIC "
"PCPSM "
"3270EML "
"COPY "
"XLATE "
"OIAM "
"MEMORY "
"INDJQRY "
"INDJASY "
--------I-7A83-------------------------------
INT 7A - IBM 3270 Workstation Program API - GET COMPLETION RESULTS
AH = 83h
???
Return: ???
--------I-7AFDCB-----------------------------
INT 7A - IBM Personal Communications/3270 - INSTALLATION CHECK
AX = FDCBh
Return: DX:AX -> PCS/3270 signature block if loaded (see #3088)
Format of Personal Communications/3270 signature block:
Offset Size Description (Table 3088)
04h WORD PCS/3270 signature (5741h)
06h WORD version (0501h = PCS/3270 v1.0)
--------I-7AFE01-----------------------------
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
AX = FE01h
???
Return: ???
SeeAlso: AX=FE02h
--------I-7AFE02-----------------------------
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
AX = FE02h
???
Return: ???
SeeAlso: AX=FE01h
--------I-7AFF01-----------------------------
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
AX = FF01h
ES:DI -> API function handler routine
Return: CX = 1200h
SeeAlso: AX=FF02h,AX=FF03h
--------I-7AFF02-----------------------------
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API TERMINATION
AX = FF02h
Return: CX = 1200h
SeeAlso: AX=FF01h
--------I-7AFF03-----------------------------
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
AX = FF03h
ES:DI -> send/receive function handler routine
Return: CX = 1200h
SeeAlso: AX=FF01h
--------I-7AFF04-----------------------------
INT 7A U - IBM PC3270 EMUL PROG v3 - INTERNAL ???
AX = FF04h
ES:DI -> ???
Return: CX = 1200h
--------f-7B---------------------------------
INT 7B - Btrieve API (single user)
DS:DX -> 38-byte parameter record (see #3089)
Return: return code field set
Note: Btrieve sets low byte of vector to 33h; this serves as the installation
check
SeeAlso: INT 2F/AX=AB01h,INT 7F/AX=0200h
Format of Btrieve parameter record:
Offset Size Description (Table 3089)
00h DWORD pointer to data buffer
04h WORD data buffer length
06h DWORD pointer to 90-byte record containing positioning info
(should be same for all calls for same file)
0Ah DWORD pointer to 38-byte FCB info buffer
(should be same for all calls for same file)
0Eh WORD function code (see #3090)
10h DWORD pointer to file name/key buffer
14h BYTE key length
15h BYTE key number
16h DWORD pointer to status code (see #3091)
1Ah WORD interface code (version specific)
6176h version 5.10
(Table 3090)
Values for function code:
00h open
01h close
02h insert
03h update
04h delete
05h get_equal
06h get_next
07h get_prev
08h get_greater
09h get_gr_eql
0Ah get_less
0Bh get_less_eq
0Ch get_first
0Dh get_last
0Eh create
0Fh stat
10h extend
11h set_dir: set directory information
12h get_dir: get directory information
13h begin_trans
14h end_trans
15h abort_trans
16h get_pos: get record position number
17h get_direct: get data by sending record position
18h step_next
19h stop
1Ah version
1Bh unlock
1Ch reset
1Dh set owner
1Eh clear owner
1Fh create supplemental index
20h drop supplemental index
21h step first
22h step last
23h step previous
24h get next extended: get multiple records using a filter
25h get previous extended: get multiple records using a filter
26h step next extended: get multiple records using a filter
27h step previous extended: get multiple records using a filter
28h insert extended: insert one or more records
31h ???
Notes: add 50 (32h) to any "get" operation to just return the key data
add 100 (64h) for a single-record wait lock (automatically released
on next get)
add 200 (C8h) for a single-record nowait lock (nowait lock returns
error 54h or 55h if record already locked)
add 300 (12Ch) for a multiple-record wait lock (not released until
unlock called)
add 400 (190h) for a multiple-record nowait lock (nowait lock returns
error 54h or 55h if record already locked)
(Table 3091)
Values for Btrieve status code:
00h successful
01h invalid operation
02h I/O error
03h file not open
04h key value not found
05h duplicate key value
06h invalid key number
07h different key number
08h invalid positioning
09h end of file
0Ah modifiable key value error
0Bh invalid file name
0Ch file not found
0Dh extended file error
0Eh pre-image open error
0Fh pre-image I/O error
10h expansion error
11h close error
12h disk full
13h unrecoverable error
14h record manager inactive
15h key buffer too short
16h data buffer length overrun
17h position block length
18h page size error
19h create I/O error
1Ah number of keys
1Bh invalid key position
1Ch invalid record length
1Dh invalid key length
1Eh not a Btrieve file
1Fh file already extended
20h extended I/O error
22h invalid extension name
23h directory error
24h transaction error
25h transaction is active
26h transaction control file I/O error
27h end/abort transaction error
28h transaction max files
29h operation not allowed
2Ah incomplete accelerated access
2Bh invalid record address
2Ch null key path
2Dh inconsistent key flags
2Eh access to file denied
2Fh maximum open files
30h invalid alternate sequence definition
31h key type error
32h owner already set
33h invalid owner
34h error writing cache
35h invalid interface
36h variable page error
37h autoincrement error
38h incomplete index
39h expanded memory error
3Ah compression buffer too short
3Bh file already exists
3Ch reject count reached
3Dh work space too small
3Eh incorrect descriptor
3Fh invalid extended insert
40h filter limit reached
41h incorrect field offset
4Ah automatic transaction abort
4Dh Btrieve engine busy or resource locked by another user
4Eh deadlock detected
50h conflict
51h lock error
52h lost position
53h read outside transaction
54h record in use
55h file in use
56h file table full
57h handle table full
58h incompatible open mode
5Ah redirected device table full
5Bh server error
5Ch transaction table full
5Dh incompatible lock type
5Eh permission error
5Fh session no longer valid
60h communications environment error
61h data message too small
62h internal transaction error
--------I-7B---------------------------------
INT 7B - Eicon Access API (3270/5250 gateways)
SeeAlso: INT 5C"NetBIOS"
--------E-7B---------------------------------
INT 7B - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ3
Notes: this vector is overwritten when GO32 starts but is not restored by
early versions of the extender
the newest versions of GO32 dynamically allocate the vectors used
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0B,INT 10/AH=FFh"GO32",INT 7A"GO32",INT 7C"GO32"
--------A-7B---------------------------------
INT 7B CR - AutoCAD Device Interface - PRINTER/PLOTTER - SEND PLOTTING DATA
AX = data length (0000h-7FFFh)
CX:BX -> data to be plotted
DX = vertical position of line on page
Return: nothing
Notes: This interrupt is called by AutoCAD to perform its output
A data length of 0000h indicates that a blank line is to be output
SeeAlso: AX=8001h,AX=8002h,INT 78"AutoCAD",INT 7A/AX=0001h"AutoCAD"
--------e-7B---------------------------------
INT 7B U - MCI Express v2.11+ - DRIVER.EXE - ???
Program: MCI Express is a front end to MCI Mail; DRIVER.EXE is its
communication driver
----------7B---------------------------------
INT 7B - Novell XQL - XQL PRIMITIVES MANAGER API
DS:DX -> parameter block (see #3093)
Return: parameter block updated
(Table 3092)
Values for Novell XQL function number:
00h log in
01h log out
02h "tNewFcn"
03h "tFreeFcn"
04h "tMoveFldFcn"
05h "tFieldFcn"
06h "tDescribeFcn"
07h "tFetchFcn"
08h "tComputeFcn"
09h "tOrderFcn"
0Ah "tRestrictFcn"
0Bh "tJoinFcn"
0Ch "tInsertFcn"
0Dh "tUpdateFcn"
0Eh "tUpdallFcn"
0Fh "tRemoveFcn"
10h "tRemallFcn"
11h "tResetFcn"
12h "tTransFcn"
13h "tStatFcn"
14h "tDDCreFcn"
15h "tStoreFcn"
16h "tRecallFcn"
17h "tStopFcn"
18h "tDDFileFcn"
19h "tDDFieldFcn"
1Ah "tDDIndexFcn"
1Bh "tDDModFcn"
1Ch "tDDViewFcn"
1Dh "tDDDrpFcn"
1Eh "tDDPathFcn"
1Fh "tDDAttrFcn"
20h "tDDFcn"
21h "tSecurFcn"
22h "tUserFcn"
23h "tAccessFcn"
24h "tPswdFcn"
25h "tCharFcn"
26h "tVersionFcn"
27h "tCnvFcn"
28h "tValFcn"
29h "tMaskFcn"
SeeAlso: #3093
Format of XQL parameter block:
Offset Size Description (Table 3093)
00h 4 BYTEs signature "XQLP"
04h WORD function number (see #3092)
06h WORD handle
08h WORD status
0Ah WORD session ID
0Ch var data record (varies by function)
---function 00h---
0Ch DWORD -> user name
10h DWORD -> password
14h DWORD -> dictionary
18h DWORD -> filepath
1Ch DWORD -> machine name
20h WORD process ID
---function 01h---
no additional fields???
---function 02h---
0Ch DWORD -> filename
10h DWORD -> owner name
14h WORD open mode
---function 03h---
no additional fields???
---function 04h---
0Ch WORD "frompos"
0Eh WORD "topos"
---function 05h---
0Ch WORD subfunction
0Eh WORD position
10h WORD count
12h DWORD -> field list
---function 06h---
0Ch WORD subfunction
0Eh WORD length of description
10h WORD position
12h WORD count
14h DWORD pointer to description list
---function 07h---
0Ch WORD data length
0Eh WORD "op"
10h DWORD "select"
14h DWORD "reject"
18h DWORD pointer to data buffer
---function 08h---
0Ch DWORD -> field name
10h WORD field type
12h WORD field size
14h WORD "flddec"
16h WORD "explen"
18h DWORD pointer to "expbuf"
---function 09h---
0Ch WORD count
0Eh DWORD -> field list
---function 0Ah---
0Ch WORD "newexp"
0Eh WORD "explen"
10h DWORD -> "expbuf"
---function 0Bh---
0Ch DWORD -> filename
10h DWORD -> owner name
14h WORD type of join
16h WORD "pCount"
18h DWORD -> "pNames"
1Ch WORD "sCount"
1Eh DWORD -> "sNames"
---functions 0Ch, 0Dh, 0Fh---
0Ch WORD file count
0Eh DWORD -> file list
12h DWORD count
16h DWORD -> buffer
---function 0Eh---
0Ch WORD file count
0Eh DWORD -> file list
12h WORD "op"
14h DWORD "select"
18h DWORD "reject"
1Ch WORD count
1Eh DWORD -> "res"
22h DWORD -> "comp"
---function 10h---
0Ch WORD file count
0Eh DWORD -> file list
12h WORD "op"
14h DWORD "select"
18h DWORD "reject"
---function 11h---
0Ch DWORD machine name
---function 12h---
0Ch WORD option
---function 13h---
0Ch WORD subfunction
0Eh WORD length of buffer
10h DWORD -> buffer
---function 14h---
0Ch WORD subfunction
0Eh DWORD -> filename
12h WORD "create"
14h DWORD -> pathname
18h DWORD -> owner name
1Ch WORD owner access restrictions
1Eh WORD number of fields
20h DWORD -> field list
24h WORD number of keys
28h DWORD -> key list
2Ch WORD "buflen"
2Eh DWORD -> create parameters
---function 15h---
0Ch DWORD -> "StoreName"
10h WORD length of buffer
12h DWORD -> buffer
---function 16h---
0Ch DWORD -> "RecallName"
10h WORD owner number
12h DWORD -> owner list
16h WORD open mode
18h WORD length of buffer
1Ah DWORD -> buffer
---function 17h---
no additional fields???
---function 18h---
0Ch WORD "rtype"
0Eh WORD count
10h DWORD -> "filebuf"
14h WORD length of following buffer
16h DWORD -> output buffer
---functions 19h, 1Ah---
0Ch WORD "rtype"
0Eh WORD count
10h DWORD -> field buffer
14h WORD length of following buffer
16h DWORD -> output buffer
---function 1Bh---
0Ch WORD subfunction
0Eh DWORD -> filename
12h WORD "create"
14h DWORD -> pathname
18h DWORD -> owner name
1Ch WORD owner access restrictions
1Eh WORD field count
20h DWORD -> field list
24h WORD number of keys
26h DWORD -> list of keys
---function 1Ch---
0Ch WORD count
0Eh DWORD -> view name
12h WORD length of following buffer
14h DWORD -> output buffer
---function 1Dh---
0Ch DWORD -> filename
10h WORD file type
12h WORD "deletepath"
---function 1Eh---
0Ch WORD "dirtype"
0Eh DWORD -> pathname
---function 1Fh---
0Ch WORD function
0Eh DWORD -> field name
12h WORD attribute
14h WORD size of buffer
16h DWORD -> buffer for attributes
---function 20h---
0Ch DWORD -> directory path
10h WORD function
---function 21h---
0Ch DWORD -> master password
10h WORD "securityflag"
---function 22h---
0Ch DWORD -> master password
10h WORD function (add/modify/remove)
12h DWORD -> user name
16h DWORD -> password
1Ah WORD global rights
1Ch WORD count
1Eh WORD length of following buffer
20h DWORD -> "userbuf"
---function 23h---
0Ch DWORD -> master password
10h DWORD -> user name
14h WORD function (allow/deny/getrights)
16h WORD rights
18h DWORD -> filename
1Ch WORD number of field names in following buffer
1Eh DWORD -> field names
22h WORD maximum buffer length
24h DWORD -> output buffer
---function 24h---
0Ch DWORD -> user name
10h DWORD -> password
---function 25h---
0Ch WORD "charFcn"
0Eh WORD "charType"
10h WORD "charValue"
---function 26h---
0Ch DWORD -> buffer
---function 27h---
0Ch WORD option
0Eh WORD type
10h WORD size
12h WORD "dec"
14h WORD "dsize"
16h DWORD -> value
1Ah DWORD -> "retval"
1Eh DWORD -> mask
22h WORD "justify"
---function 28h---
0Ch DWORD -> field name
10h WORD length of buffer
12h DWORD -> buffer for data
---function 29h---
0Ch WORD option
0Eh WORD type
10h WORD size
12h WORD "dec"
14h WORD length of mask
16h DWORD -> mask
--------A-7B8001-----------------------------
INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - BEGIN PLOT
AX = 8001h
BX = file level
0000h binary file
0001h CAD/camera image file
0002h installed ADI driver
CX = horizontal size in pixels
DX = vertical size in pixels
Return: AX = status (0000h initialization failed, 0001h init successful)
BX = allowed output format
0000h monochrome
0001h color (4 bits per pixel)
SeeAlso: AX=8002h,AX=8003h,INT 7B"AutoCAD",INT 7C"AutoShade"
--------A-7B8002-----------------------------
INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - END PLOT
AX = 8002h
SeeAlso: AX=8001h,AX=8003h
--------A-7B8003-----------------------------
INT 7B R - AutoCAD Device Interface - PRINTER/PLOTTER - ABORT PLOT
AX = 8003h
SeeAlso: AX=8001h,AX=8002h
--------r-7C---------------------------------
INT 7C U - IBM REXX88PC command language
???
--------E-7C---------------------------------
INT 7C - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ4
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
Notes: this vector is overwritten when GO32 starts but is not restored by
early versions of the extender
the newest versions of GO32 dynamically allocate the vectors used
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0C,INT 7B"GO32",INT 7D"GO32"
--------P-7C---------------------------------
INT 7C - PRINDIR v8.02-8.xx - API
AH = function
00h set output to Invisible mode
01h set output to LPT1
02h set output to LPT2
03h set output to LPT3
04h set output to COM1
05h set output to COM2
06h set output to COM3
07h set output to COM4
08h set output to screen
09h set output to file
0Ah change file path
ES:DI -> new path
CX = length of path (max 41, but not range-checked)
0Bh change file name
ES:DI -> new filename
CX = length of new name (max 41, but not range-checked)
0Ch set redirected device
(01h = LPT1 ... 03h = LPT3, 04h = COM1 ... 07h = COM4)
0Dh force buffer dump
0Eh set display color
AL = new color attribute (see #0013 at INT 10/AH=08h)
0Fh set popup hotkey
AL = hotkey scancode
10h toggle byte display
AL = new state (00h off, 01h on)
11h change buffer flush delay
AL = timer ticks before flush
Return: AX = status
0000h successful
0001h invalid function or nothing in buffer to be dumped
(documented as "nonzero = error")
Program: PRINDIR is a shareware printer-redirection program by J.M. Allen
Creations
Notes: the installation check consists of testing for the ASCIZ signature
"PRINDIR N.NN" (where N.NN is the version number) two bytes beyond
the start of the interrupt handler
prior versions of PRINDIR used INT 7A instead of INT 7C
SeeAlso: INT 7A"PRINDIR",INT 2F/AX=7F00h"PRINDIR"
Index: hotkeys;PRINDIR
--------A-7C---------------------------------
INT 7C - AutoShade v2 - RENDERING HARDCOPY DRIVER
Note: this is the default interrupt vector for rendering hardcopy drivers
instead of INT 7A used by AutoCAD drivers
SeeAlso: INT 7A/AX=0001h"AutoCAD"
--------N-7C---------------------------------
INT 7C - SK-UPPS/SK-PASSPORT Data Link Interface (DLI) API
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
which provides an API on top of it Data Link Interface, allowing the
use of any of several network transport layers; this product is
called SK-PASSPORT in the USA.
Notes: The installation check consists of testing for the ASCII signature
string "UPPS_DLI" immediately preceding the interrupt handler.
To find the service interrupt being used by the driver, an application
should scan through the interrupt table until it finds an interrupt
vector with the "UPPS_DLI" string.
There may be more than one DLI loaded, each having its own service
interrupt.
SeeAlso: AX=0000h,AX=0002h,AX=000Fh
Index: installation check;SK-UPPS
--------N-7C0000-----------------------------
INT 7C - SK-UPPS Data Link Interface API - GET DRIVER VERSION
AX = 0000h
Return: AH = major DLI version
AL = minor DLI version
DX = OEM signature (see #3094)
CL = DLI 2.8+ topology: 1=Ethernet, 2=FDDI, 3=Token-Ring
SeeAlso: AX=0002h,AX=000Bh,AX=000Dh,AX=000Eh
(Table 3094)
Values for SK-UPPS Data Link Interface OEM signature (defined by SK):
0001h experimental
3343h ('3C') 3COM
4942h ('IB') IBM
4943h ('IC') Intellicom
494Eh ('IN') Intel
4B4Fh ('KO') Kodiak
4D41h ('MA') Madge
4E45h ('NE') Novell
4F43h ('OC') Olicom
5349h ('SI') Siemens
534Bh ('SK') Schneider & Koch (SysKonnect)
5744h ('WD') Western Digital
--------N-7C0001-----------------------------
INT 7C - SK-UPPS Data Link Interface API - DOWN DRIVER
AX = 0001h
Return: AX = completion code (see #3095)
Note: the DLI will refuse to unload if there are any protocols
(see AX=0007h) or clients (see AX=0010h) active.
Index: uninstall;SK-UPPS Data Link Interface
(Table 3095)
Values for SK-UPPS completion code:
0000h SUCCESS
0005h INVALID_MULTICAST
0006h BUFFER_TOO_SMALL
0007h NO_BUFFERS_LEFT
0008h NO_RESOURCES_LEFT
000Bh ILLEGAL_PROTOCOL_ID
000Ch PROTOCOL_IN_USE
000Dh NO_MULTICAST_ADDRESS
000Fh PROTOCOLS_ACTIVE
0010h CLIENTS_ACTIVE
001Bh INVALID_MODE
001Ch MODE_NOT_SUPPORTED
FFFFh UNKNOWN_SERVICE
--------N-7C0002-----------------------------
INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATUS
AX = 0002h
ES:DI -> Status Information Block (SIB) (see #3107)
Return: AX = completion code (see #3095)
Note: GET DRIVER INFO (AX=000Eh) should be used instead.
SeeAlso: AX=0000h,AX=000Bh,AX=000Dh,AX=000Eh
--------N-7C0003-----------------------------
INT 7C - SK-UPPS Data Link Interface API - CHANGE DRIVER ADDRESS
AX = 0003h
ES:DI -> new node address (6 bytes)
Return: AX = completion code (see #3095)
Note: the DLI will refuse to change the address if any protocols
(see AX=0007h) are active
SeeAlso: AX=0001h,AX=000Eh
--------N-7C0004-----------------------------
INT 7C - SK-UPPS Data Link Interface API - REQUEST BUFFER
AX = 0004h
DX = protocol ID (see AX=0007h,#3098)
Return: AX = completion code (see also #3095)
0000h successful
ES:BX -> Memory Buffer (Mbuf) (see #3096)
Note: if the DLI has no free Mbufs, it will set an internal flag for the
protocol and later call the protocol's Event Upcall with
EV_BUFFER_AVAILABLE (see #3102,#3103) as soon as an Mbuf becomes
available. There will only be one "buffer available" Upcall, even
if this function has been called several times before.
SeeAlso: AX=0005h,AX=0006h,AX=0012h,AX=0013h
Format of SK-UPPS Memory Buffer (Mbuf):
Offset Size Description (Table 3096)
00h DWORD -> NEXT Mbuf (linked list)
04h WORD OFFSET of actual data within DATA area
06h 2 BYTEs reserved (currently unused)
08h WORD LENGTH of actual data found in DATA area starting at OFFSET
0Ah 2 BYTEs reserved (currently unused)
0Ch DWORD -> DATA area (size can be obtained via AX=000Eh call)
10h WORD PROTOCOL ID of protocol currently "owning" the Mbuf
12h BYTE IN USE flag; nonzero if Mbuf still in use by DLI (see AX=0006h)
13h BYTE RECEIVE STATUS (bit 0-7 only; see AX=0007h - Receive Upcall)
--------N-7C0005-----------------------------
INT 7C - SK-UPPS Data Link Interface API - RELEASE BUFFER
AX = 0005h
ES:BX -> Mbuf (see #3096)
Return: nothing
SeeAlso: AX=0004h
--------N-7C0006-----------------------------
INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME
AX = 0006h
ES:BX -> Mbuf (see #3096)
Return: nothing
Notes: The DLI will send LENGTH bytes found in the Mbuf's DATA area starting
at OFFSET. A complete and valid frame must be stored there. The DLI
will only copy the current node address (see AX=0003h) to the
source node field of the frame's MAC header.
On Ethernet, the DLI will always send a minimum of 60 bytes, regardless
of the value found in the LENGTH field.
This function returns immediately; the DLI will call the protocol's
Transmit Upcall (see #3097) when the frame has been sent.
The Mbuf's IN USE field will be non-zero until the DLI calls the
Transmit Upcall.
SeeAlso: AX=0002h,AX=0004h,AX=0013h
(Table 3097)
Values SK-UPPS Transmit Upcall is called with:
ES:BX -> Mbuf (NEXT field destroyed)
interrupts disabled
Note: On FDDI the bytes of the source and destination node fields in the MAC
header have been bit-swapped to physical address format.
--------N-7C0007-----------------------------
INT 7C - SK-UPPS Data Link Interface API - REGISTER PROTOCOL
AX = 0007h
ES:BX -> Protocol Control Block (see #3098)
Return: AX = completion code (see #3095)
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
which provides an API on top of its Data Link Interface, allowing the
use of any of several network transport layers
SeeAlso: AX=0008h,AX=000Bh
Format of SK-UPPS Protocol Control Block (PCB):
Offset Size Description (Table 3098)
00h WORD (big-endian) protocol type
02h WORD protocol mode (see #3099)
04h DWORD -> Receive Upcall routine (see #3100)
08h DWORD -> Transmit Upcall routine
0Ch DWORD -> Event Upcall routine (see #3102)
10h DWORD -> ASCIZ protocol name (zero if none)
14h WORD protocol ID will be returned here (always non-zero)
Bitfields for SK-UPPS protocol mode:
Bit(s) Description (Table 3099)
0 promiscuous mode; protocol receives all frames regardless of their
destination (PROTOCOL TYPE must be FFFFh)
1 if set, protocol's Event Upcall will be called on entry and exit of the
DLI's Interrupt Service Routine (see #3103)
2 DLI 2.2+ hook mode; protocol receives all directed frames destined for
this station (PROTOCOL TYPE must be FFFFh)
3 DLI 2.3+ receive error frames (only valid in promiscuous mode (0))
4-5 DLI 2.5+ frame type:
00 Ethernet II; specify type code in PROTOCOL TYPE field (high-low)
01 IEEE 802.2; specify Service Access Point (SAP) in MSB
(offset 0) of PROCOTOL TYPE field; LSB must be zero
10 IEEE 802.2 with SNAP header; specify type code in PROTOCOL TYPE
field (high-low)
11 reserved (currently unused)
6 DLI 2.5+ if set, protocol's Event Upcall will be called with event code
EV_BUFFER_WANTED, when DLI runs out of Mbufs
7 DLI 2.7+ chain mode; if set, client allows the specified frame type to
be shared with other clients
8 DLI 2.8+ receive non-LLC frames rather than LLC frames
9 DLI 2.8+ receive all multicast frames (see also AX=0009h)
10-15 reserved (currently unused; must be zero)
Notes: If PROTOCOL TYPE is FFFFh and neither the "promiscuous" nor the "hook"
mode is set, the protocol receives all frames that did not match
any registered frame type (demultiplexor mode).
Protocols using "promiscuous", "hook" or "chain" mode should always
return from the Receive Upcall with the received Mbuf in ES:BX and
the Carry Flag set. The DLI will then pass the Mbuf to the FEED BACK
BUFFER function (see AX=000Fh).
Some DLIs do not support all or even any of the "promiscuous",
"receive non-LLC" and "receive all multicasts" mode bits.
SeeAlso: #3098
(Table 3100)
Values SK-UPPS Receive Upcall is called with:
ES:BX -> Mbuf
AX = receive status (see #3101) (also stored in Mbuf's RECEIVE STATUS field)
interrupts disabled
Return: nothing
SeeAlso: #3102
Bitfields for SK-UPPS receive status:
Bit(s) Description (Table 3101)
0-2 reserved (0), currently unused
3 frame check sequence (FCS) error
4 overflow (frame too long)
5 framing error
6 reserved (0), currently unused
7 non-LLC frame (see #3099 [bit 8])
8-15 reserved (0), currently unused
Notes: The protocol's Receive Upcall routine will be called whenever a frame
matching the specified frame type is received. A received frame is
passed to the protocol in the Mbuf's DATA area at OFFSET and its size
is LENGTH bytes.
The receive status passed to the Receive Upcall in register AL is
always zero, except for protocols using "non-LLC" mode (8 of PCB's
protocol mode field) or "promiscuous" mode together with "receive
error frames" (0 & 3).
Upcalls are FAR routines and must return with a RET FAR. If the Carry
Flag is set on return from a Receive or Transmit Upcall, then ES:BX
must point to an Mbuf, which the DLI will then pass to the RELEASE
BUFFER function (see AX=0005h). See also notes for PROTOCOL MODE.
(Table 3102)
Values SK-UPPS Event Upcall is called with:
AX = event code (see #3103)
Return: nothing
Note: All Event Upcalls may be ignored by the protocol.
SeeAlso: #3100
(Table 3103)
Values for SK-UPPS Event Upcall event code:
00h EV_BUFFER_AVAILABLE client may now call REQUEST BUFFER (AX=0004h)
01h EV_ISR_START start of Interrupt Service Routine
02h EV_ISR_END end of ISR (see #3099 [bit 1])
03h EV_BUFFER_WANTED DLI temporarily out of Mbufs
04h EV_NETWORK_STATUS DLI 2.8+ network status -- DX=status (see #3104)
05h EV_IO_CONTROL DLI 2.8+ I/O control -- DX=subfunc (see AX=0016h)
SeeAlso: #3102
Bitfields for EV_NETWORK_STATUS in register DX:
Bit(s) Description (Table 3104)
Token-Ring FDDI
15 SIGNAL_LOSS SIGNAL_LOSS
14 HARD_ERROR HARD_ERROR
13 SOFT_ERROR SOFT_ERROR
12 TRANSMIT_BEACON TRANSMIT_BEACON
11 LOBE_WIRE_FAULT PATH_TEST_FAILED
10 AUTO_REMOVAL SELF_TEST_REQUIRED
9 reserved reserved
8 REMOVE_RECEIVED REMOTE_DISCONNECT
7 COUNTER_OVERFLOW reserved
6 SINGLE_STATION DUPLICATE_ADDRESS
5 RING_RECOVERY NO_RING_OP_STATUS
4 reserved VERSION_MISMATCH
3 reserved STUCK_BYPASS
2 reserved FDDI_EVENT
1 reserved RING_OP_CHANGE
0 reserved reserved
Note: EV_NETWORK_STATUS is not supported on Ethernet
--------N-7C0008-----------------------------
INT 7C - SK-UPPS Data Link Interface API - DISABLE PROTOCOL
AX = 0008h
BX = protocol ID (see #3098)
Return: AX = completion code (see #3095)
Note: the DLI will handle any Mbufs given to TRANSMIT FRAME (AX=0006h) as if
they had been given to TRANSMIT FRAME RELEASE (AX=0013h).
all multicast addresses registered for this protocol will be disabled.
after this function returns, the protocol's Upcall routines will no
longer be called.
SeeAlso: AX=0007h,AX=000Bh
--------N-7C0009-----------------------------
INT 7C - SK-UPPS Data Link Interface API - REGISTER MULTICAST
AX = 0009h
BX = protocol ID (see #3098)
ES:DI -> multicast address (6 bytes)
Return: AX = completion code (see #3095)
Notes: The broadcast address is always enabled.
Set bit 9 of PCB's protocol mode field in REGISTER PROTOCOL call
(AX=0007h) to receive all multicast frames.
SeeAlso: AX=000Ah,AX=0014h
--------N-7C000A-----------------------------
INT 7C - SK-UPPS Data Link Interface API - DISABLE MULTICAST
AX = 000Ah
BX = protocol ID (see #3098)
ES:DI -> multicast address (6 bytes)
Return: AX = completion code (see #3095)
SeeAlso: AX=0009h,AX=0014h
--------N-7C000B-----------------------------
INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL LIST
AX = 000Bh
ES:DI -> protocol ID buffer
CX = number of 2-byte protocol IDs that may be stored in buffer
Return: AX = completion code (see #3095)
CX = number of active protocols (regardless of value returned in AX)
protocol ID buffer filled with active protocol IDs
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
which provides an API on top of its Data Link Interface, allowing the
use of any of several network transport layers
Note: If the buffer supplied is too small, CX still contains the total number
of active protocols and the buffer has been filled until full.
SeeAlso: AX=000Ch,AX=0014h
--------N-7C000C-----------------------------
INT 7C - SK-UPPS Data Link Interface API - GET PROTOCOL STATUS
AX = 000Ch
BX = protocol ID (see #3098,AX=000Bh)
ES:DI -> Protocol Status Block (see #3105)
Return: AX = completion code (see #3095)
SeeAlso: AX=000Bh,AX=0014h
Format of SK-UPPS Protocol Status Block (PSB):
Offset Size Description (Table 3105)
00h DWORD -> ASCIZ protocol name
04h WORD protocol mode (see #3099)
06h WORD protocol type (see AX=0007h)
08h WORD number of registered multicasts (see AX=0009h,AX=0014h)
--------N-7C000D-----------------------------
INT 7C - SK-UPPS Data Link Interface API - GET DRIVER STATISTICS
AX = 000Dh
BX = flag: 0=don't clear statistics, 1=clear statistics
ES:DI -> Statistics Data Block (see #3106)
Return: AX = completion code (see #3095)
SeeAlso: AX=0002h,AX=0015h
Format of SK-UPPS Statistics Data Block (SDB):
Offset Size Description (Table 3106)
00h DWORD node uptime in ticks (1/18.21 sec.)
04h DWORD bytes received
08h DWORD bytes transmitted
0Ch DWORD frames received
10h DWORD frames transmitted
14h DWORD multicast bytes received
18h DWORD multicast frames received
1Ch DWORD unrecognized frames
20h WORD missed frames
22h WORD frame check sequence (FCS) errors
24h WORD framing errors
26h WORD babbling errors
28h WORD late collision errors
2Ah WORD loss of carrier errors
2Ch WORD 16 retries failed errors
2Eh WORD overflow errors
Note: fields 26h through 2Ch are always zero, except in some very old
versions of the DLI. Use GET MEDIA STATISTICS (AX=0015h) to get
more detailed information.
--------N-7C000E-----------------------------
INT 7C - SK-UPPS Data Link Interface API - DLI 2.5+ - GET DRIVER INFO
AX = 000Eh
ES:DI -> Driver Information Block (see #3107)
BX = offset of 1st field within DIB to be returned
CX = number of bytes to be returned
Return: AX = completion code (see #3095)
CX = number of bytes copied (regardless of value returned in AX)
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
which provides an API on top of its Data Link Interface, allowing the
use of any of several network transport layers
SeeAlso: AX=0000h,AX=0002h,AX=000Bh,AX=000Dh,AX=0015h
Format of SK-UPPS Driver Information Block (DIB):
Offset Size Description (Table 3107)
00h 6 BYTEs physical node address (from adapter's ROM)
06h 6 BYTEs current node address (see AX=0003h)
0Ch BYTE adapter id (defined by OEM)
0Dh BYTE IRQ line (FFh if none)
0Eh DWORD -> shared memory (zero if none)
12h DWORD size of shared memory (zero if none)
16h WORD base I/O port (zero if none)
18h BYTE DMA line (FFh if none)
19h BYTE DLI 2.4+ topology (see AX=0000h)
1Ah WORD size of an Mbuf's DATA area (see #3096)
1Ch 2 BYTEs reserved (currently unused)
1Eh WORD total number of Mbufs the DLI has
20h WORD maximum number of Mbufs that can be allocated via REQUEST
BUFFER (AX=0004h) and SYNC REQUEST BUFFER (AX=0012h)
---- end of Status Information Block returned by GET DRIVER STATUS (AX=0002h)
22h DWORD -> ASCIZ adapter name
26h WORD number of I/O ports used (zero if none)
28h DWORD line speed in bits/sec.
--------N-7C000F-----------------------------
INT 7C - SK-UPPS Data Link Interface API - FEED BACK BUFFER
AX = 000Fh
ES:BX -> Mbuf (see #3096)
Return: nothing
Notes: A protocol may call this function instead of returning the Mbuf
directly from the Receive Upcall if it is running in "promiscuous",
"hook" or "chain" mode.
SeeAlso: AX=0007h
--------N-7C0010-----------------------------
INT 7C - SK-UPPS Data Link Interface API - CLIENT HOOK
AX = 0010h
Return: nothing
Notes: An application having no active protocols may call this function to
prevent the DLI from unloading.
SeeAlso: AX=0001h,AX=0011h
--------N-7C0011-----------------------------
INT 7C - SK-UPPS Data Link Interface API - CLIENT UNHOOK
AX = 0011h
Return: nothing
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
which provides an API on top of its Data Link Interface, allowing the
use of any of several network transport layers
SeeAlso: AX=0010h
--------N-7C0012-----------------------------
INT 7C - SK-UPPS Data Link Interface API - SYNC REQUEST BUFFER
AX = 0012h
DX = protocol ID (see #3098)
Return: AX = completion code (see #3095)
if AX=0000h: ES:BX -> Mbuf (see #3096)
Note: If the protocol wants to be informed when an Mbuf becomes available,
REQUEST BUFFER (AX=0004h) should be used instead.
SeeAlso: AX=0004h,AX=0005h,AX=0006h,AX=0013h
--------N-7C0013-----------------------------
INT 7C - SK-UPPS Data Link Interface API - TRANSMIT FRAME RELEASE
AX = 0013h
ES:BX -> Mbuf (see #3096)
Return: nothing
Notes: Returns immediately; The protocol's Transmit Upcall will NOT be called.
The Mbuf may no more be used by the protocol in any way (i.e. the
Mbuf's IN USE field may not be polled).
SeeAlso: AX=0004h,AX=0013h
--------N-7C0014-----------------------------
INT 7C - SK-UPPS Data Link Interface API - GET MULTICAST LIST
AX = 0014h
BX = protocol ID (see #3098,AX=000Bh)
ES:DI -> multicast address buffer
CX = number of 6-byte multicast addresses that may be stored in buffer
Return: AX = completion code (see #3095)
CX = number of registered multicast addresses for this protocol
(regardless of value returned in AX)
multicast address buffer filled with multicast addresses registered for
this protocol
Note: If the buffer supplied is too small, CX still contains the total number
of registered multicast addresses for this protocol and the buffer
has been completely filled
SeeAlso: AX=000Bh,AX=0009h,AX=000Ch
--------N-7C0015-----------------------------
INT 7C - SK-UPPS Data Link Interface API - DLI 2.6+ - GET MEDIA STATISTICS
AX = 0015h
ES:DI -> media-specific statistics buffer (see #3108,#3109,#3110)
BX = offset of 1st field within MSS to be returned
CX = number of bytes to be returned
Return: AX = completion code (see #3095)
CX = number of bytes copied (regardless of value returned in AX)
Note: not supported by all DLIs (will return AX=FFFFh if not supported).
SeeAlso: AX=0000h,AX=000Dh
Format of SK-UPPS media-specific statistics for Ethernet:
Offset Size Description (Table 3108)
00h DWORD alignment errors
04h DWORD frame check sequence (FCS) errors
08h DWORD single collision frames
0Ch DWORD multiple collision frames
10h DWORD signal quality error (SQE) test errors
14h DWORD deferred transmissions
18h DWORD late collisions
1Ch DWORD excessive collisions
20h DWORD internal MAC transmit errors
24h DWORD carrier sense errors
28h DWORD excessive deferrals
2Ch DWORD frame too longs
30h DWORD in range length errors
34h DWORD out of range length fields
38h DWORD internal MAC receive errors
Format of SK-UPPS media-specific statistics for FDDI:
Offset Size Description (Table 3109)
00h DWORD SMT operating version id (refer to ANSI 7.1.2.2)
04h DWORD SMT CF state: 1=Isolated, 2= Wrap_S, 3=Wrap_A, 4=Wrap_B,
5=Wrap_AB, 6=Thru (refer to ANSI SMT 9.7.4.3)
08h DWORD SMT frames sent
0Ch DWORD SMT frames received
10h DWORD SMT ring up count
14h 6 BYTEs MAC upstream neighbour
1Ah 6 BYTEs MAC downstream neighbour
20h DWORD MAC frame counter (refer to ANSI MAC 2.2.1)
24h DWORD MAC error counter ( " )
28h DWORD MAC lost counter ( " )
2Ch BYTE port 1 link error estimate (ranges from 10**-4 to 10**-15 and
is reported as the absolute value of the exponent)
2Dh BYTE port 2 link error estimate ( " )
2Eh 2 BYTEs reserved (currently unused)
30h DWORD attachment class: 1=single-attachment (S PORT),
2=dual-attachment (A/B PORT pairs), 3=concentrator (M PORTs)
34h DWORD attachment optical bypass present: 1=true, 2=false
Format of SK-UPPS media-specific statistics for Token-Ring:
Offset Size Description (Table 3110)
00h 6 BYTEs upstream neighbour
06h WORD local ring number
08h DWORD ring up count
0Ch DWORD signal loss errors
10h DWORD lobe wire faults
14h DWORD ring recovery count
18h DWORD line errors
1Ch DWORD burst errors
20h DWORD ARI/FCI errors
24h DWORD lost frame errors
28h DWORD receive congestion errors
2Ch DWORD frame copied errors
30h DWORD token errors
34h DWORD DMA bus errors
38h DWORD DMA parity errors
3Ch DWORD receive overflow errors
--------N-7C0016-----------------------------
INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - DRIVER I/O CONTROL
AX = 0016h
DX = subfunction; bits 14-15 specify direction of I/O:
00 no data at all (ES:BX undefined)
01 driver -> application (GET)
10 application -> driver (SET)
11 both directions (GET/SET)
ES:BX -> I/O buffer (optional)
CX = size of buffer (if ES:BX valid)
Return: AX = completion code; defined by OEM
Program: SK-UPPS is the Schneider & Koch Universal Portable Protocol Stack,
which provides an API on top of its Data Link Interface, allowing the
use of any of several network transport layers
Notes: not supported by all DLIs (will return AX=FFFFh if not supported)
subfunction codes are defined by OEMs
SeeAlso: AX=0001h
--------N-7C0017-----------------------------
INT 7C - SK-UPPS Data Link Interface API - DLI 2.8+ - INTERRUPT REQUEST
AX = 0017h
Return: AX = completion code (see #3095)
Notes: not supported by all DLIs (will return AX=FFFFh, if not supported).
must be called with interrupts disabled; when the client re-enables
interrupts, an interrupt will be generated and reported to the client
through an Event Upcall (see #3102 [EV_ISR_START/EV_ISR_END])
SeeAlso: AX=0007h
--------t-7D---------------------------------
INT 7D O - [obsoleted proposal] - ALTERNATE MULTIPLEX INTERRUPT
Note: this interface has been moved to INT 2D; there are no known
implementations on INT 7D
SeeAlso: INT 2D"AMIS",INT 2F"NOTES"
--------S-7D---------------------------------
INT 7D U - YTERM 1.4 - CLOCK SUPPORT
SeeAlso: INT 7E"YTERM"
--------E-7D---------------------------------
INT 7D - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ5
Notes: this vector is overwritten when GO32 starts but is not restored by
early versions of the extender
the newest versions of GO32 dynamically allocate the vectors used
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0D"IRQ5",INT 7C"GO32",INT 7E"GO32"
--------U-7D---------------------------------
INT 7D - HyperPAD v2.2 - API ACCESS
Note: this vector is hooked but immediately passed on (without checking
whether the previous handler was 0000h:0000h). The sole purpose of
this vector is to provide the address of the data area described
below (see #3111).
Format of HyperPAD data area:
Offset Size Description (Table 3111)
-16h DWORD pointer to ??? FAR function
-12h DWORD pointer to callback setting function
[C calling conventions, (*callback)(int (_loadds far *)()) ]
-0Eh 6 BYTEs signature "BRC001"
-08h DWORD pointer to previous INT 7D handler
-04h DWORD pointer to ??? data
00h HyperPAD INT 7D handler
----------7D---------------------------------
INT 7D - IBM DOS 6.1 E.EXE - ???
Note: E.EXE checks whether this interrupt is in use (not 0000h:0000h),
and if it is used, attempts to load E55VGA.EX instead of the
default E.EX overlay. However, E55VGA.EX is not included in
IBM DOS 6.1.
--------G-7D00-------------------------------
INT 7D - SCSILink - RESET SCSI BUS
AH = 00h
Program: SCSILink is a TSR by Cross Products Ltd which allows its PC-hosted
cross assemblers and similar products to communicate with Cross
Products hardware debuggers
Desc: reset all devices on the SCSI bus
Note: the installation check is the signature "SCSILINK" immediately prior
to the interrupt handler
Index: installation check;SCSILink
--------G-7D01-------------------------------
INT 7D - SCSILink - CONNECT TO TARGET
AH = 01h
AL = target ID
Return: CF clear if successful
CF set on error
AL = initiator error
AH = target error
Desc: arbitrate the use of the bus and select the specified target device
--------G-7D02-------------------------------
INT 7D - SCSILink - SEND COMMAND
AH = 02h
ES:BX -> parameter block (see #3112)
Return: CF clear if successful
CF set on error
AL = initiator error
AH = target error
Desc: send the specified command block to the target device and perform any
related I/O
Format of SCSILink parameter block:
Offset Size Description (Table 3112)
00h DWORD size of command block
04h DWORD address of command block (see #3113)
08h DWORD size of buffer
0Ch DWORD address of buffer
Format of SCSILink command block:
Offset Size Description (Table 3113)
00h info not yet available
--------G-7D03-------------------------------
INT 7D - SCSILink - SET TIMEOUT
AH = 03h
AL = timeout selector (see #3114)
BX = new value in 55ms ticks
Desc: change an internal timeout value to allow communication with very
slow targets
(Table 3114)
Values for SCSILink timeout selector:
00h time to wait for bus (default 18)
01h time to wait for new phase (default 5)
02h maximum time to send/receive block (default 18)
03h time to wait for reselect (default 180)
--------G-7D04-------------------------------
INT 7D - SCSILink - GET ERROR STRING
AH = 04h
AL = error number
Return: ES:BX -> ASCIZ error string for error number
--------G-7D05-------------------------------
INT 7D - SCSILink - GET ADDRESS
AH = 05h
Return: AL = DMA channel
AH = initiator ID
BX = card address
Desc: determine the current hardware configuration
--------G-7D06-------------------------------
INT 7D - SCSILink - PUT DATA
AH = 06h
CX = number of bytes to store (0001h-0100h)
ES:BX -> data to be saved
Return: CF clear if successful
CF set on error
AL = error code (01h = too much data)
Note: the specified data is stored in SCSILink's PSP
SeeAlso: AH=07h
--------G-7D07-------------------------------
INT 7D - SCSILink - GET DATA
AH = 07h
CX = number of bytes to retrieve (0001h-0100h)
ES:BX -> buffer for data
Return: CF clear if successful
CF set on error
AL = error code (01h = too much data)
Note: retrieve data previously stored with AH=06h
SeeAlso: AH=06h
--------G-7D08-------------------------------
INT 7D - SCSILink - TERMINATE SESSION
AH = 08h
Desc: indicate to any other programs that intercept INT 7D that the program
has finished with the link
Note: the program should call this function even if a SCSI error caused its
termination
--------G-7D09-------------------------------
INT 7D - SCSILink - POLL REQUEST
AH = 09h
AL = target ID
Return: AL = status
FEh resident driver experienced SCSI error
FFh resident driver handleded event
Desc: give any drivers chained onto INT 7D a chance to handle an exception
not specifically handled by the calling program
Notes: this service exists so that resident disk servers, etc. can continue
running even while debuggers and profilers are active
the resident driver assumes that a connection has been established and
attempts to leave the target connected
--------*-7E---------------------------------
INT 7E - RESERVED FOR DIP, Ltd. ROM LIBRARY
--------S-7E---------------------------------
INT 7E U - YTERM 1.4 - ???
SeeAlso: INT 7D"YTERM",INT 7F"YTERM"
--------E-7E---------------------------------
INT 7E - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ6
Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
Notes: this vector is overwritten when GO32 starts but is not restored by
early versions of the extender
the newest versions of GO32 dynamically allocate the vectors used
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0E"IRQ6",INT 7D"GO32",INT 7F"GO32"
--------s-7E00-------------------------------
INT 7E - MaxSBOS v0.21 - GET ???
AH = 00h
Return: DX:AX -> ???
SeeAlso: AH=01h,AH=02h,AH=03h
--------s-7E0001-----------------------------
INT 7E - IWSBSDRV v1.41 - SEND MIDI BYTE
AX = 0001h
DX = game device handle
BL = MIDI byte to send???
???
Return: EAX = status
00000000h if successful
FFFFFFFFh on error (function disabled)
Program: IWSBSDRV is the resident portion of the InterWave SBOS sound card
emulator for the Gravis UltraSound Plug-and-Play
Note: this function is only supported if the MIDISIMPLE device has been
opened via the InterWave Game API (see INT 2F/AX=CD21h)
SeeAlso: AX=0002h,INT 2F/AX=CD21h,#3323
--------s-7E0002-----------------------------
INT 7E - IWSBSDRV v1.41 - SEND MIDI STRING
AX = 0002h
DX = game device handle
ES:EDI -> buffer containing MIDI string to be sent
ECX = length of buffer in bytes
Return: EAX = status
00000000h if successful
FFFFFFFFh on error (function disabled)
Note: this function is only supported if the MIDISIMPLE device has been
opened via the InterWave Game API (see INT 2F/AX=CD21h)
SeeAlso: AX=0001h,INT 2F/AX=CD21h,#3323
--------s-7E00F6-----------------------------
INT 7E - SBOS v3.82 - SET ???
AX = 00F6h
BL = ??? (max. 20h, value will be set to 20h if BL greater)
Return: AX=00F9h,AX=00FEh
--------s-7E00F7-----------------------------
INT 7E - SBOS v3.82 - GET ???
AX = 00F7h
Return: AX = status
0000h failed
0001h successful
BX = ??? (if nonzero, ??? is hooked) (see AX=00FFh)
CH = ???
CL = ???
SeeAlso: AX=00F6h,AX=00FDh,AX=00FFh
--------s-7E00F9-----------------------------
INT 7E - SBOS v3.82 - SET ???
AX = 00F9h
BX = ???
SeeAlso: AX=00F6h,AX=00FBh,AX=00FDh
--------s-7E00FB-----------------------------
INT 7E - SBOS v3.82 - SET ???
AX = 00FBh
BL = ???
SeeAlso: AX=00F6h,AX=00FDh,AX=00FFh
--------s-7E00FD-----------------------------
INT 7E - SBOS v3.82 - SET ???
AX = 00FDh
BL = ??? (max. 20h, value will be set to 20h if BL greater)
SeeAlso: AX=00F9h,AX=00FEh
--------s-7E00FE-----------------------------
INT 7E - SBOS v3.82 - UNINSTALL
AX = 00FEh
Return: AX = status
0000h successful
00FCh unable to unhook INT 21
00FDh unable to unhook INT 09
00FEh unable to release memory
Program: SBOS is a SoundBlaster emulator for the Gravis UltraSound
Range: SBOS may use INT 78-INT 7F
Notes: the installation check for SBOS is to test for the ASCII signature
"SBOS" at offset 0Ah in the interrupt handler's segment (similar
to one of the possible EMS installation checks)
this function may not be called if any SBOS vectors have been hooked
SeeAlso: INT 21/AX=FD12h,INT 78"UltraMID"
--------s-7E00FF-----------------------------
INT 7E - SBOS v3.82 - SET INTERRUPT FOR ???
AX = 00FFh
BL = new interrupt vector to hook
Return: BX = 03CDh if supported
Desc: unhooks the current interrupt handler for ???, and reconnects it to the
specified new interrupt number
SeeAlso: AX=00F7h,AX=00F9h,AX=00FEh
--------s-7E01-------------------------------
INT 7E - MaxSBOS v0.21 - ???
AH = 01h
???
Return: ???
Program: MaxSBOS is a SoundBlaster FM synthesis emulator for the Gravis
UltraSound MAX
Range: INT 78-INT 7F, selected by commandline parameter
Note: the installation check is the same as for 'regular' SBOS (see AX=00FEh)
although the API in v0.21 does not provide the functions present in
the older SBOS
SeeAlso: AX=00FEh,AH=02h,AH=03h
--------s-7E02-------------------------------
INT 7E - MaxSBOS v0.21 - ???
AH = 02h
Return: AX = FFFFh
SeeAlso: AX=00FEh,AH=01h,AH=03h
--------s-7E03-------------------------------
INT 7E - MaxSBOS v0.21 - NOP
AH = 03h
Return: nothing
SeeAlso: AX=00FEh,AH=01h,AH=02h
--------m-7E5857BL57-------------------------
INT 7E - XLOAD - INSTALLATION CHECK
AX = 5857h
BL = 57h
Return: AX = 0000h if installed
Program: XLOAD is the LOADHIGH-equivalent from Helix Software's Netroom
SeeAlso: AX=5857h/BL=5Ah,AX=5857h/BL=5Bh
--------m-7E5857BL5A-------------------------
INT 7E - XLOAD - GET ???
AX = 5857h
BL = 5Ah
Return: AX = 0000h
CX = ???
DS:SI -> ???
SeeAlso: AX=5857h/BL=57h,AX=5857h/BL=5Bh
--------m-7E5857BL5B-------------------------
INT 7E - XLOAD - GET XLOAD MEMORY SIZE
AX = 5857h
BL = 5Bh
Return: AX = 0000h
CX = segment of XLOAD TSR
DX = size of memory block in which XLOAD TSR is located
SeeAlso: AX=5857h/BL=57h,AX=5857h/BL=5Ah
--------s-7E--80-----------------------------
INT 7E - IWSBSDRV v1.41 - GET ???
AL = 80h
Return: DX:AX -> ???
SeeAlso: AL=81h,AL=82h,AL=83h,AL=84h,AL=85h,AL=86h,AL=87h
--------s-7E--81-----------------------------
INT 7E - IWSBSDRV v1.41 - ???
AL = 81h
???
Return: ???
SeeAlso: AL=80h,AL=82h,AL=83h,AL=84h,AL=85h,AL=86h,AL=87h
--------s-7E--82-----------------------------
INT 7E - IWSBSDRV v1.41 - GET ???
AL = 82h
Return: AX = ??? (FFFFh)
SeeAlso: AL=80h,AL=81h,AL=83h,AL=84h,AL=85h,AL=86h,AL=87h
--------s-7E--83-----------------------------
INT 7E - IWSBSDRV v1.41 - ??? (CALLS VIWD.VXD)
AL = 83h
???
Return: ???
SeeAlso: AL=80h,AL=81h,AL=82h,AL=84h,AL=85h,AL=86h,AL=87h
SeeAlso: INT 2F/AX=1684h/BX=38DAh"VIWD"
--------s-7E--84-----------------------------
INT 7E - IWSBSDRV v1.41 - WAKE PROGRAM???
AL = 84h
Return: AL = status
00h successful
else failed
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=85h,AL=86h,AL=87h
SeeAlso: INT 2F/AX=CD04h"InterWave"
--------s-7E--85-----------------------------
INT 7E - IWSBSDRV v1.41 - SET ??? FLAG
AL = 85h
Return: nothing
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=84h,AL=86h,AL=87h
--------s-7E--86-----------------------------
INT 7E - IWSBSDRV v1.41 - HOOK INT 21
AL = 86h
Return: AX,BX,DX,ES destroyed
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=84h,AL=85h,AL=87h
--------s-7E--87-----------------------------
INT 7E - IWSBSDRV v1.41 - RESTORE INT 21
AL = 87h
Return: AX,DX destroyed
SeeAlso: AL=80h,AL=81h,AL=82h,AL=83h,AL=84h,AL=85h,AL=86h
--------V-7F---------------------------------
INT 7F - Halo88 - API
BX = function number (see #3115)
additional parameters on stack
Return: ???
Program: Halo88 is a suite of graphics routines
Note: according to Stuart Kemp, the code appears to make no provisions for
chaining
(Table 3115)
Values for Halo88 API function:
64h arc
65h bar
66h box
67h circle
68h clr
69h default hatch style
6Ah default line style
6Bh delhcur
6Ch delln / deltcur
6Dh ellipse
6Eh fill
6Fh flood
70h flood2
71h init graphics
72h init hcur
73h init marker
74h init tcur
75h inqarc
76h inqbknd
77h inqclr
78h inqerr
79h inqgcur
7Ah inqhcur
7Bh inqmarker
7Dh inqtcur
7Eh inqtext
7Fh lnabs
80h lnrel
81h markerabs
82h markerrel
83h moveabs
84h movehcurabs
85h movehcurrel
86h moverel
87h movetcurabs
88h movetcurrel
89h movefrom
8Ah moveto
8Bh pie
8Ch polylnabs
8Dh polylnrel
8Eh ptabs
8Fh ptrel
91h setasp
92h set color
93h set font
94h set hatch style
95h set line style
97h settext
98h set text color
99h btext
9Ah setseg
9Bh display
9Ch setscreen
9Eh close graphics
9Fh ftinit
A0h ftlocate
A1h ftext
A5h set viewport
A6h set window
A7h set world
AAh ftcolor
ACh initlp
ADh inqasp
AEh inqdev
AFh inqdisplay
B0h inqft
B1h inqftcolor
B2h inqinterlace
B3h inqlpa
B4h inqlpg
B5h inqmode
B6h inqscreen
B7h inqversion
B8h roam
B9h scroll
BAh setieee
BBh set interlace
BCh shift
BDh start graphics
BEh vpan
CBh gwrite
CCh gread
CDh setxor
CEh rbox
CFh rcir
D0h rlnabs
D1h rlnrel
D2h delbox
D3h delcir
D5h setseg2
DCh worldoff
DDh mapwtod
DEh mapdtow
DFh mapwton
E0h mapntow
E1h mapdton
E2h mapntod
E3h inqworld
E4h inqviewport
E5h set line width
E6h lnjoint
E7h set locator
E8h read locator
E9h setdev
EBh setstext
ECh setstclr
EDh setstang
EEh stext
EFh inqstext
F0h setdegree
F1h inqstsize
F2h polyfabs
F3h polyfrel
F4h inqdrange
F5h inqstang
F6h orglocator
F7h inqlocator
F8h inqarea
F9h setipal
FAh setborder
FBh inqcrange
FEh setclip
FFh fcir
100h setcrange
101h setdrange
102h setlattr
103h polycabs
104h polycrel
108h memcom
109h memexp
10Ah memmov
10Eh movefx
10Fh movetx
110h inqrgb
111h save image
112h restore image
113h setapal
114h setxpal
118h inqtsize
12Eh gprint
130h setprn
131h setpattr
133h setbattr
135h pexpand
136h ptnorm
137h pfnorm
13Bh inqprn
13Ch lopen
13Dh lclose
13Eh lappend
13Fh lrecord
140h lswitch
142h inqfun
15Dh lsetup
15Eh lrest
15Fh lsave
--------N-7F---------------------------------
INT 7F - CONVERGENT TECHNOLOGIES ClusterShare CTOS ACCESS VECTOR
AL = request ID
01h "Request"/"RequestDirect"
ES:BX -> pRq
DX ignored
04h "Wait"
ES:BX -> ppMsgRet
DX = exchange
05h "AllocExch"
ES:BX -> pExchRet
06h "DeAllocExch"
DX = exchange
07h "Check"
ES:BX -> ppMsgRet
DX = exchange
CX = 4354h ('CT')
Return: AX = status
0000h successful
--------S-7F---------------------------------
INT 7F - Telebit ACS SERIAL I/O
ES:SI-> parameter block (see #3116)
Return: CF set on error
CF clear on success
Notes: the signature "PDGATEWRKSTNIF" appears just prior to the interrupt
handler; this serves as the installation check
Index: installation check;Telebit ACS Serial I/O
Format of Telebit ACS parameter block:
Offset Size Description (Table 3116)
00h BYTE command (see #3117)
01h BYTE gateway number
02h BYTE reserved
03h BYTE port
04h 17 BYTEs auxiliary buffer
15h BYTE session
16h WORD count of bytes passed to API
18h DWORD buffer pointer passed to/from API
1Ch WORD count of bytes passed from API
1Eh BYTE return code (see #3118)
(Table 3117)
Values for Telebit ACS command:
3Ch status
3Dh connect
3Eh disconnect
3Fh read
40h data/command write
41h clear receive buffer
42h get configuration
43h get receiver status
44h raw write
45h search servers
46h set transmit buffer size
(Table 3118)
Values for Telebit ACS return code:
00h success
01h invalid session
05h servername invalid
06h NetWare fileserver bindery is locked
07h communication server not active
08h general failure in NetWare fileserver
09h not logged into a fileserver
10h connection table full
11h no response from communication server
12h connection attempt terminated abnormally
13h connection refused - no sessions available
14h gateway number/port already in use
15h invalid connection response
16h port invalid
17h incorrect version in server response
18h gateway number/port combination not configured
19h initialization has not been completed
20h no more sockets are available
21h no active poolname
23h FATAL internal interface error
24h registration of host workstation failed - name is already in use
25h registration of host workstation failed - workstation name table full
26h registration of host workstation failed - only one session may be
registered for dial-in
FFh Telebit ACS API is busy - retry later
--------N-7F---------------------------------
INT 7F - Non-dedicated NetWare 2.x File Server - ENTER CONSOLE MODE
Notes: the installation check consists of checking for the signature "Lynn"
in the four bytes preceding the interrupt handler; if present, the
current program is running as a DOS task on a non-dedicated NetWare
2.x file server.
Before placing the server into "console" mode, it is recommended that
NetWare broadcast messages be disabled with INT 21/AH=DEh/DL=00h.
SeeAlso: INT 21/AH=DEh/DL=04h
Index: installation check;non-dedicated NetWare server
--------S-7F---------------------------------
INT 7F U - YTERM - ???
SeeAlso: INT 7E"YTERM"
--------E-7F---------------------------------
INT 7F - DJGPP GO32.EXE DOS EXTENDER - RELOCATED IRQ7
Notes: this vector is overwritten when GO32 starts but is not restored by
early versions of the DOS extender
the newest versions of GO32 dynamically allocate the vectors used
for the relocated IRQs, much as DESQview does (see INT 50"DESQview")
SeeAlso: INT 0F"IRQ7",INT 7E"GO32"
----------7F---------------------------------
INT 7F - Canon IXHND2 Scanner Interface
--------U-7F---------------------------------
INT 7F - SBS WinRun 1.00 - TRANSMITTER ENTRY POINT
DS:SI -> WinRun control block (WCB) (see #3119)
Return: WinRun receiver status returned in WCB
Program: WinRun is a DOS/Windows utility written by Sven B. Schreiber to start
Windows applications from a virtual DOS machine under Windows
Note: The WinRun transmitter (WINRUN-T.COM) and receiver (WINRUN-R.EXE) need
to be up and running
Format of the WinRun control block (WCB):
Offset Size Description (Table 3119)
00h DWORD pointer to ASCIZ command string
04h WORD (ret) WinRun receiver status
0000h-001Fh WinExec() error
0020h-FFFEh WinExec() instance handle
FFFFh Windows not running or WinRun receiver not
installed
--------N-7F---------------------------------
INT 7F - Alloy 386/MultiWare (MW386), Novell-Type Network Executive (NTNX)
Notes: the words at C800h:0000h and C800h:0002h will both be 584Eh if the
MW386 multitasking system is present (i.e. signature "NXNX")
NTNX allows its API to be placed on a different interrupt than 7Fh at
load time. To determine the actual vector used, open the device
"SPOOLER" with INT 21/AX=3D02h, place it in RAW mode with
INT 21/AX=4400h and INT 21/AX=4401h, then read one byte which will
be the actual interrupt number being used; the other interrupts may
be found with INT 7F/AH=09h/CL=03h
--------N-7F---------------------------------
INT 7F - Alloy NetWare Support Kit (ANSK) v2.2+ - INSTALLATION CHECK
Note: a program may determine that it is running on an ANSK Slave by checking
the five bytes at F000h:0000h for the ASCIZ signature "ANSK"; this
address is RAM, and should not be written. However, the above check
will not work on Slaves with <1MB RAM or those using the SLIM.SYS
device driver
--------N-7F00-------------------------------
INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK AND WAIT
AH = 00h
DS:DX -> ASCIZ semaphore name (max 64 bytes)
Return: AL = status (see #3120)
AH = semaphore owner if status=02h
SeeAlso: AH=01h,AH=02h,AH=41h,INT 67/AH=00h
(Table 3120)
Values for Alloy function status:
00h successful
01h invalid function
02h semaphore already locked
03h unable to lock/unlock semaphore
04h semaphore space exhausted
05h host/target PC did not respond (NTNX)
--------T-7F00-------------------------------
INT 7F - MultiLink Advanced v1.0+ - ENQUEUE SYSTEM RESOURCE
AH = 00h
BX = resource identifier
AL = wait flag
Return: AL = status
00h successful
01h resource not available
02h user error
Notes: the installation check consists of ensuring that the interrupt vector
is not pointing at segment 0000h, then checking whether the byte
at offset 0000h in the interrupt handler's segment is E9h
function will not return until the resource is available if AL is
nonzero on entry
a maximum of 100 resources may be enqueued at once
SeeAlso: AH=01h"MultiLink"
--------N-7F00-------------------------------
INT 7F - G8BPQ v4.07+ - GET NODE/SWITCH VERSION AND DESCRIPTION
AH = 00h
ES:SI -> buffer for "USERS" text string
Return: AX = 4250h ('BP') if installed
BX = 5120h ('Q ') if installed
DX = version number (DH = major, DL = minor)
CX = length of returned string
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
John Wiseman which allows a PC to act as a node in an AX.25 network
SeeAlso: AH=01h"G8BPQ",AH=09h"G8BPQ"
--------N-7F01-------------------------------
INT 7F - Alloy NTNX, MW386 - SEMAPHORE LOCK
AH = 01h
DS:DX -> ASCIZ semaphore name (max 64 bytes)
Return: AL = status (see #3120)
AH = semaphore owner if status=02h
SeeAlso: AH=00h,AH=02h,AH=41h
--------T-7F01-------------------------------
INT 7F - MultiLink Advanced v1.0+ - DEQUEUE SYSTEM RESOURCE
AH = 01h
BX = resource identifier
Return: AL = status
00h successful
02h user error
Note: the indicated resource may be dequeued even if it was enqueued by
another task
SeeAlso: AH=00h"MultiLink",AH=02h"MultiLink"
--------V-7F01-------------------------------
INT 7F - TIGA Communications Driver v2.05 - GET ENTRY POINTS
AH = 01h
Return: BX = 1234h if installed
DX:AX -> array of FAR entry points
CH = driver major version
CL = driver minor version
Note: TIGACD 2.05 returns CF set on unrecognized functions in AX
SeeAlso: AX=1234h,AX=4321h
--------N-7F01-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - SET APPLICATION FLAGS AND MASK
AH = 01h
AL = stream number (01h-40h)
CL = new application flags
bit 7: monitored frames available via AH=0Bh"G8BPQ"
DL = new application mask
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
John Wiseman which allows a PC to act as a node in an AX.25 network
Range: INT 00h to INT FFh, set in configuration file BPQCFG.TXT for v4.03+
(earlier versions were hard-wired for INT 7F)
SeeAlso: AH=00h"G8BPQ",AH=02h"G8BPQ",AH=0Bh"G8BPQ"
--------I-7F0104BX0000-----------------------
INT 7F - HLLAPI (IBM 3270 High-Level Language API)/LLAPI (Rabbit Low Level API)
AX = 0104h (HLLAPI gate ID)
BX = 0000h
DS:SI -> parameter control block (see #3121)
Return: parameter control block updated
Note: the installation check for the Novell HLLAPI TSR is the signature
string "CXI" (for the company Novell bought) immediately prior to
the interrupt handler
SeeAlso: AX=0105h,AX=ABCDh
Format of HLLAPI parameter control block:
Offset Size Description (Table 3121)
00h 3 BYTEs signature = 'PCB'
03h BYTE function number (see #3122,#3123)
04h WORD segment of control string
06h WORD offset of control string
08h WORD length of control string, unless explicit end-of-str char set
0Ah BYTE unused (IBM)
ControlString[0] (Rabbit)
0Bh WORD return code (see #3125)
0Dh WORD maximum length of control string (IBM)
unused (Rabbit)
(Table 3122)
Values for HLLAPI function number:
00h OEM function (Query system for Attachmate implementation)
01h Connect presentation space
02h Disconnect presentation space
03h Send string of keystrokes as if typed from keyboard
04h Wait ~60s, returns status of presentation space
05h Copy current presentation space into a user-defined buffer
06h Search presentation space for first occurrence of a specified string
07h Query cursor location in current presentation space
08h Copy part or all of current presentation space into user buffer
09h Set session parameters; parameters vary by vendor (see #3124)
0Ah Get info on sessions currently connected
0Bh Lock current presentation space
0Ch Unlock previously locked presentation space
0Dh Return copy of operator info area (OIA) of current presentation space
0Eh get attribute byte for given position in the current presentation space
0Fh copy string of characters to the current presentation space
10h workstation control functions
11h storage manager functions, intended primarily for BASIC applications
(not implemented by Rabbit)
12h set delay period in half-second intervals
14h get info on level of workstation support used
15h reset session parameters to default values
16h get detailed info on the current session
17h start host notification to application on presentation sp or OIA update
18h check host update when host notification enabled
19h stop host notification
1Eh search field within current presentation space for string
1Fh get first positionof a selected field in the current presentation space
20h get length of specified field
21h copy string into a specified field
22h copy specified field into a user-defined buffer
23h create alternate presentation space (IBM only), don't use with BASIC
24h switch to alternate presentation space (IBM only), not with BASIC
25h display cursor in specified area (IBM only), don't use with BASIC
26h display alternate presentation space (IBM only), don't use with BASIC
27h delete alternate presentation space (IBM only), don't use with BASIC
28h set cursor
29h start Close Intercept
2Ah query Close Intercept
2Bh stop Close Intercept
32h start intercepting keystrokes to allow filtering
33h get keystrokes after turning on interception
34h notify operator when keystroke rejected by filter subroutine
35h stop intercepting keystrokes
5Ah send file
5Bh receive file
5Ch run a program (not implemented by Rabbit)
5Dh execute DOS command (not implemented by Rabbit)
63h change presentation space position to PC display row/col or vice versa
65h connect to Window Services
66h disconnect from Window Services
67h set/query window coordinates
68h set/query window status
69h change presentation space name
78h connect Structured Fields
79h disconnect Structured Fields
7Ah query size of communications buffer
7Bh allocate communications buffer
7Ch free communications buffer
7Dh get request completion state
7Eh read Structured Fields
7Fh write Structured Fields
FFh Get info on DCA implementation
(Table 3123)
Values for LLAPI function number:
80h initialize LLAPI (internal call)
83h set Session ID (one-character ID)
84h read Session ID (one-character ID)
85h lock 327x keyboard
86h unlock 327x keyboard
87h wait for Clear to Send
88h type ASCII character
89h type 327x key
8Ah read keyboard lock state
8Fh force screen update
90h view session
91h relinquish (suspend foreground until background becomes idle)
92h poke screen character
93h poke translated character
94h peek screen character
95h peek translated character
96h set cursor position
97h send scan code (Rabbit only)
98h synchronize (returns after keystroke queue empty)
99h type PC key (Rabbit only)
(Table 3124)
Values for HLLAPI Function 09h Session Parameters:
ASCII ??? (Rabbit only)
ATTRIB return attributes in hex
NOATTRIB return attributes as blanks
CONPHYS make physical connection
CONLOG only make logical connection
EAB copy extended attribute bytes along with data
NOEAB copy data only
ESC=n set escape character to "n" (default '@')
EOT=n set end of string character (default 00h)
FPAUSE full-duration pause
FTNOWAIT return immediately from functions 5Ah and 5Bh (Rabbit only)
FTWAIT wait for file transfer to complete (Rabbit only)
IPAUSE interruptable pause
RABESC ??? (Rabbit only)
NORABESC ??? (Rabbit only)
SCANCODE ??? (Rabbit only)
STRLEN use explicit string lengths
STREOT use terminated strings
SRCHALL search entire presentation space
SRCHFROM search from specified offset
SRCHFRWD search forward from position 1
SRCHBKWD search backward from last position in presentation space
TIMEOUT=n ??? (Rabbit only)
TWAIT wait specified time for keyboard ready
LWAIT wait until keyboard ready
NWAIT no wait
TRON enable tracing
TROFF disable tracing
AUTORESET send reset before sending keys with function 03h
NORESET don't send reset
QUIET don't display messages sent with INT 21/AH=09h
NOQUIET allow messages to be displayed
TIMEOUT=n set timeout in 30-second intervals, 0 = wait until ^Break
XLATE translate extended attribute bytes
NOXLATE don't translate
NEWRET use HLLAPI v3.0 return code conventions
OLDRET use HLLAPI v2.0 return code conventions
(Table 3125)
Values for Windows HLLAPI return code:
00h successful
01h Presentation Space not connected/requested size unavailable
02h invalid function or parameter error/invalid block ID
03h file transfer complete
04h file transfer complete (segmented)/Presentation Space busy
05h inhibited or keyboard locked
06h data truncated
07h invalid Presentation Space position
08h operation not available
09h system error
0Ah blocking error
0Bh resource not available
0Ch session stopped
14h undefined key combination
15h OIA updated
16h Presentation Space updated
17h both Presentation Space and OIA updated
18h no such field
19h no keystrokes available
1Ah Presentation Space or Operator Information Area changed
1Bh file transfer aborted
1Ch zero-length field
1Eh cursor type invalid
1Fh keystroke overflow
20h another application is already connected
22h message sent to host cancelled
23h transmission from host cancelled
24h lost contact with host
25h function successful
26h function incomplete
27h a DDM session is already connected
28h disconnected, but asynchronous requests still pending
29h buffer already in use
2Ah no matching request found
12Dh invalid function number
12Eh file not found
131h access denied
134h out of memory
136h environment invalid
137h format invalid
270Eh (9998) invalid Presentation Space ID
270Fh (9999) invalid row or column code
---Windows HLLAPI extensions---
F000h asynchronous call already in progress
F001h invalid asynchronous task ID
F002h blocking call cancelled
F003h underlying subsystem not started
F004h unsupported application version
--------V-7F0105-----------------------------
INT 7F - IBM 8514/A Adapter Interface (HDILOAD.EXE)
AX = 0105h
Return: CF set on error
CF clear if successful
CX:DX -> array of FAR pointers to entry points (see #3126)
Note: most functions are invoked by pushing the DWORD parameter block pointer
and then performing a FAR call via the appropriate vector of the
entry point array, placing the FAR address of the function's
parameter block on the top of the stack
SeeAlso: AX=0104h,AX=0106h,AX=ABCDh
(Table 3126)
Values for HDILOAD function number: (do FAR call via entry_points+4*function)
08h HOPEN Open Adapter (see #3158)
09h HSMX Set Mix (see #3187)
10h HINT Interrupt (see #3154)
13h HLDPAL Load Palette (see #3155)
15h HBBW BitBLT Write Image Data (see #3141)
17h HBBR BitBLT Read Image Data (see #3142)
18h HBBCHN Chained Data Go (see #3140)
19h HBBC BitBLT Copy Data (see #3139)
1Dh HQMODE Get Current Mode (see #3164)
20h HRECT Fill Rectangle (see #3166)
22h HCLOSE Close Adapter and place in quiescent state (see #3147)
30h HINIT Initialize State (see #3153)
31h HSYNC Synchronize Adapter (see #3192)
39h HSPAL Save Palette (see #3189)
3Ah HRPAL Restore Palette (see #3169)
??? HSGQ Set Graphics Quality (see #3178)
??? HSCOORD Set Coordinate Type (see #3175)
??? HESC Escape, Terminate Processing (see #3152)
??? HSBCOL Set Background Color (see #3170)
??? HSBP Set Bit Plane Controls (see #3171)
??? HSCMP Set Color Comparison Register (see #3173)
??? HSCOL Set Color (see #3174)
??? HSHS Set Scissors (clipping rectangle) (see #3179)
??? HXLATE Assign Text Color (see #3193)
??? HQMODES Get Adapter Modes (see #3165)
??? HQDPS Get Drawing Process State Size (see #3163)
??? HQDFPAL Get Default Palette (see #3162)
??? HQCOORD Get Coordinate Type (see #3160)
??? HQCP Get Current Position (see #3161)
??? HSMODE Change Mode (see #3185)
??? HLINE Draw Line at Given Position (see #3156)
??? HCLINE Draw Line at Current Position (see #3146)
??? HRLINE Draw Line Relative from Given Position (see #3167)
??? HCRLINE Draw Line Relative at Current Position (see #3149)
??? HSLT Set Line Type (see #3182)
??? HSLW Set Line Width (see #3184)
??? HSLPC Save Line Pattern Count (see #3181)
??? HRLPC Restore Line Pattern Count (see #3168)
??? HCBBW BitBLT Write Image Data at Current Position (see #3143)
??? HBAR Begin Area (see #3138)
??? HEAR End Area (see #3150)
??? HSPATT Set Pattern (see #3190)
??? HSPATTO Set Pattern Reference Point (see #3191)
??? HEGS Erase Graphics Screen (see #3151)
??? HSCP Set Current Position (see #3176)
??? HMRK Set Marker (see #3157)
??? HCMRK Set Marker at Current Position (see #3148)
??? HSMARK Set Marker Shape (see #3186)
??? HSCS Set Character Set (see #3177)
??? HCHST Write Character String at Given Position (see #3145)
??? HCCHST Write Character String at Current Position (see #3144)
??? HSCELL Set Cell Size for Alphanumeric Text (see #3172)
??? ABLOCKMFI Write Character/Attribute Block MFI (see #3129)
??? ABLOCKCGA Write Character Block CGA (see #3127)
??? AERASE Erase Rectangle (see #3132)
??? ASCROLL Scroll Rectangle (see #3133)
??? ACURSOR Set Alphanumerics Cursor Position (see #3131)
??? ASCUR Set Alphanumeric Cursor Shape (see #3134)
??? ASFONT Set Font (see #3135)
??? AXLATE Assign Alphanumeric Color (see #3137)
Format of ABLOCKCGA parameter block:
Offset Size Description (Table 3127)
00h WORD 000Ah (length of following data)
02h WORD top-left coordinate of character block
04h WORD width of block
06h DWORD -> block of WORDs describing characters (see #3128)
0Ah BYTE length of block in characters
0Bh BYTE highlight attribute
bit 4: transparent background
bit 5: overstrike
bit 6: reverse video
bit 7: underscore
SeeAlso: #3129
Bitfields for one character in ABLOCKCGA character block:
Bit(s) Description (Table 3128)
3-0 foreground attribute
7-4 background attribute
15-8 character code
Format of ABLOCKMFI parameter block:
Offset Size Description (Table 3129)
00h WORD 0009h (length of following data)
02h WORD top-left coordinate of character block
04h WORD width of block
06h DWORD -> block of DWORDs describing characters (see #3130)
0Ah BYTE length of block in characters
SeeAlso: #3127
Bitfields for one character in ABLOCKMFI character block:
Bit(s) Description (Table 3130)
7-0 reserved
9-8 low two bits of font number
12 transparent background
13 overstrike
14 reverse video
15 underscore
19-16 foreground color attribute
23-20 background color attribute
31-24 character code
Format of ACURSOR parameter block:
Offset Size Description (Table 3131)
00h WORD 0002h (length of following data)
02h BYTE column (0-based)
03h BYTE row (0-based)
SeeAlso: #3134
Format of AERASE parameter block:
Offset Size Description (Table 3132)
00h WORD 0005h (length of following data)
02h BYTE left-most column (0-based)
03h BYTE top-most row (0-based)
04h BYTE rectangle's width in character cells
05h BYTE rectangle's height in character cells
06h BYTE background color (bits 7-4)
SeeAlso: #3133
Format of ASCROLL parameter block:
Offset Size Description (Table 3133)
00h WORD 0006h (length of following data)
02h BYTE left-most column (0-based) of source
03h BYTE top-most row (0-based) of source
04h BYTE rectangle's width in character cells
05h BYTE rectangle's height in character cells
06h BYTE left-most column (0-based) of destination
07h BYTE top-most row (0-based) of destination
SeeAlso: #3132
Format of ASCUR parameter block:
Offset Size Description (Table 3134)
00h WORD 0003h (length of following data)
02h BYTE cursor start line (00h = top of cell, FFh = keep current shape)
03h BYTE cursor stop line
04h BYTE cursor attribute
00h normal
01h hidden
02h left-arrow (requires start = 2 and stop = bottom of cell)
03h right-arrow (requires start = 2 and stop = bottom of cell)
Notes: no cursor is shown if the start line is greater than the stop line
the alphanumeric cursor is hidden after each mode change
SeeAlso: #3131,INT 10/AH=01h
Format of ASFONT parameter block:
Offset Size Description (Table 3135)
00h WORD 0005h (length of following data)
02h BYTE font number (0-3)
03h DWORD -> character set definition block (see #3136)
Format of 8514/A character set definition block:
Offset Size Description (Table 3136)
00h BYTE reserved
01h BYTE type of character set
00h bitmapped, 01h&02h reserved, 03h short-stroke font
02h BYTE reserved
03h DWORD reserved
07h BYTE cell width in pixels
08h BYTE cell height in pixels
09h BYTE reserved
0Ah WORD cell size in bytes
0Ch WORD flags
bit 15: reserved (0)
bit 14: color bitmap
bit 13: proportional spacing
0Eh DWORD -> index table
12h DWORD -> character width table
16h BYTE initial code point
17h BYTE final code point
18h DWORD -> character definition table
1Ch WORD reserved
1Eh DWORD -> second character definition table
22h WORD reserved
24h DWORD -> third character definition table
Format of AXLATE parameter block:
Offset Size Description (Table 3137)
00h WORD 0080h (length of following data)
02h 64 BYTEs character foreground translation table
42h 64 BYTEs character background translation table
Format of HBAR parameter block:
Offset Size Description (Table 3138)
00h WORD 0000h (no data following)
SeeAlso: #3150
Format of HBBC parameter block:
Offset Size Description (Table 3139)
00h WORD 0010h (length of following data)
02h WORD data format
0000h across-the-plane copy (color expansion)
0008h through-the-plane copy
04h WORD data rectangle's width
06h WORD data rectangle's height
08h BYTE source bit plane number (across-the-plane copies only)
09h BYTE reserved
0Ah 2 WORDs X,Y coordinates of source's upper-left corner in display memory
0Eh 2 WORDs X,Y coordinates of destination's upper-left corner in
display memory
Note: copies data from one location in video memory to another
SeeAlso: #3140
Format of HBBCHN parameter block:
Offset Size Description (Table 3140)
00h WORD 0006h (length of following data)
02h DWORD -> data buffer in system memory
06h WORD number of bytes to transfer
Note: this function performs the actual data transfer for a bitBLT set up
with HBBR, HBBW, or HCBBW
SeeAlso: #3139,#3141,#3142,#3143
Format of HBBR parameter block:
Offset Size Description (Table 3141)
00h WORD 000Ch or 0014h (length of following data)
02h WORD data format
0000h across-the-plane copy (color expansion)
0008h through-the-plane copy
04h WORD data rectangle's width
06h WORD data rectangle's height
08h BYTE source bit plane number
09h BYTE reserved
0Ah 2 WORDs X,Y coordinates of destination's upper-left corner in
display memory
---optional---
0Eh WORD sub-rectangle left margin in pixels
10h WORD sub-rectangle top margin in pixels
12h WORD sub-rectangle width
14h WORD sub-rectangle height
SeeAlso: #3140,#3141,#3143
Format of HBBW parameter block:
Offset Size Description (Table 3142)
00h WORD 000Ah or 0012h (length of following data)
02h WORD data format
0000h across-the-plane copy (color expansion)
0008h through-the-plane copy
04h WORD data rectangle's width
06h WORD data rectangle's height
08h 2 WORDs X,Y coordinates of destination in display memory
---optional---
0Ch WORD sub-rectangle left margin in pixels
0Eh WORD sub-rectangle top margin in pixels
10h WORD sub-rectangle width
12h WORD sub-rectangle height
SeeAlso: #3140,#3142,#3143
Format of HCBBW parameter block:
Offset Size Description (Table 3143)
00h WORD 0006h or 000Eh (length of following data)
02h WORD data format
0000h across-the-plane copy (color expansion)
0008h through-the-plane copy
04h WORD data rectangle's width
06h WORD data rectangle's height
---optional---
08h WORD sub-rectangle left margin in pixels
0Ah WORD sub-rectangle top margin in pixels
0Ch WORD sub-rectangle width
0Eh WORD sub-rectangle height
SeeAlso: #3140,#3141,#3142
Format of HCCHST parameter block:
Offset Size Description (Table 3144)
00h WORD length of following data
02h N BYTEs ASCII string to display (length given by 'length' field above)
SeeAlso: #3145
Format of HCHST parameter block:
Offset Size Description (Table 3145)
00h WORD length of following data
02h 2 WORDs X,Y of left-bottom corner of string on screen
06h N BYTEs ASCII string to display (length given by 'length' field above)
SeeAlso: #3144
Format of HCLINE parameter block:
Offset Size Description (Table 3146)
00h WORD length of following data (multiple of 4)
02h 2N WORDs X,Y coordinates for each of N points in polyline
Notes: the first line segment is drawn beginning at the current position
on completion, the current position is set to the last point drawn
SeeAlso: #3156,#3167,#3149
Format of HCLOSE parameter block:
Offset Size Description (Table 3147)
00h WORD 0001h (length of following data)
01h BYTE (ret) return code
SeeAlso: #3158
Format of HCMRK parameter block:
Offset Size Description (Table 3148)
00h WORD length of following data
02h 2N WORDs X,Y of N points
Note: draws N+1 marker symbols, the first one at the current position
SeeAlso: #3157
Format of HCRLINE parameter block:
Offset Size Description (Table 3149)
00h WORD length of following data (multiple of 4)
02h 2N WORDs X,Y coordinates relative to the position of the previous point
(current position for first point) for each of N points in
polyline
Notes: the first line segment is drawn beginning at the current position
on completion, the current position is set to the last point drawn
SeeAlso: #3156,#3146,#3167
Format of HEAR parameter block:
Offset Size Description (Table 3150)
00h WORD 0001h (length of following data)
02h BYTE area definition flags
bits 7-6: End Area type
00 complete, perform fill
01 suspend definition
10 complete, but don't fill
SeeAlso: #3138
Format of HEGS parameter block:
Offset Size Description (Table 3151)
00h WORD 0000h (no data following)
Format of HESC parameter block:
Offset Size Description (Table 3152)
00h WORD 0000h (no data following)
Format of HINIT parameter block:
Offset Size Description (Table 3153)
00h WORD 0002h (length of following data)
02h WORD segment of task buffer
SeeAlso: #3192
Format of HINT parameter block:
Offset Size Description (Table 3154)
00h WORD 0004h (length of following data)
02h DWORD interrupt/event identifier
bit 31: vertical blanking
Format of HLDPAL parameter block:
Offset Size Description (Table 3155)
00h WORD 000Ah (length of following data)
02h BYTE palette ID (00h = user, 01h = default)
03h BYTE reserved
04h WORD number of first palette entry
06h WORD number of entries
08h DWORD -> palette entries
SeeAlso: #3189
Format of HLINE parameter block:
Offset Size Description (Table 3156)
00h WORD length of following data (multiple of 4)
02h 2N WORDs X,Y coordinates for each of N points in polyline
Note: on completion, the current position is set to the last point drawn
SeeAlso: #3146,#3167,#3149
Format of HMRK parameter block:
Offset Size Description (Table 3157)
00h WORD length of following data (multiple of 4)
02h 2N WORDs X,Y for N points
SeeAlso: #3148
Format of HOPEN parameter block:
Offset Size Description (Table 3158)
00h WORD 0003h (length of following data)
01h BYTE initialization flags
bit 6: don't load default palette
bit 7: clear bitplanes
02h BYTE mode type (see #3159)
03h BYTE (ret) return code
bit 7: no adapter (hardware mismatch)
SeeAlso: #3147
(Table 3159)
Values for 8514/A display mode:
0000h 12x20 characters, 1024x768
0001h 8x14 characters, 640x480
0002h 8x14 characters, 1024x768
0003h 7x15 characters, 1024x768
Format of HQCOORD parameter block:
Offset Size Description (Table 3160)
00h WORD 0004h (length of following data)
02h BYTE (ret) coordinate format
bits 7-4: bytes per coordinate
bits 3-0: fraction bytes in coordinate
03h BYTE (ret) relative coordinate format
bits 7-4: bytes per coordinate
bits 3-0: fraction bytes in coordinate
04h BYTE (ret) number of dimensions (2-4)
05h BYTE (ret) test results
bit 7: coordinate format not supported
bit 6: relative coordinate format not supported
bit 5: specified dimension not supported
Format of HQCP parameter block:
Offset Size Description (Table 3161)
00h WORD 0004h (length of following data)
02h WORD (ret) current X position
04h WORD (ret) current Y position
Format of HQDFPAL parameter block:
Offset Size Description (Table 3162)
00h WORD 0040h (length of following data)
02h 16 DWORDs (ret) color index values
Note: the default palette is set to match the default EGA/VGA 16-color
palettes
Format of HQDPS parameter block:
Offset Size Description (Table 3163)
00h WORD 0006h (length of following data)
02h WORD (ret) size of data buffer in bytes
04h WORD (ret) stack size in bytes
06h WORD (ret) size of palette save buffer in bytes
Format of HQMODE parameter block:
Offset Size Description (Table 3164)
00h WORD 0012h (length of following data)
02h BYTE current video mode (see #3159)
03h WORD driver version
bit 6: 80286/8086 CPU
bit 5: 8 bit planes instead of 4 planes
bits 4-0: hardware release number
05h BYTE adapter type
03h 8514/A
04h XGA
06h BYTE reserved (display type)
07h BYTE character cell width
08h BYTE character cell height
09h BYTE number of bit planes
0Ah WORD screen width (pixels)
0Ch WORD screen height (pixels)
0Eh WORD horizontal resolution (pixels/inch)
10h WORD vertical resolution (pixels/inch)
12h BYTE flag: 00h = monochrome, FFh = color
13h BYTE intensity levels
SeeAlso: #3165
Format of HQMODES parameter block:
Offset Size Description (Table 3165)
00h WORD 0021h (length of following data)
02h BYTE (ret) adapter type
03h 32 BYTEs (ret) available display modes (FFh byte marks end of data)
SeeAlso: #3164
Format of HRECT parameter block:
Offset Size Description (Table 3166)
00h WORD 0008h (legth of following data)
02h 2 WORDs X,Y coordinates of top left corner or rectangle
06h WORD rectangle's width
08h WORD rectangle's height
Note: the rectangle is filled using the current pattern, color, and mix
Format of HRLINE parameter block:
Offset Size Description (Table 3167)
00h WORD length of following data (multiple of 4)
02h 2 WORDs X,Y coordinates of starting point
06h 2N WORDs X,Y coordinates relative to the position of the previous point
for each of N points in polyline
Note: on completion, the current position is set to the last point drawn
SeeAlso: #3156,#3146,#3149
Format of HRLPC parameter block:
Offset Size Description (Table 3168)
00h WORD 0000h (no data following)
Note: used for continuity of lines crossing scissors boundaries
SeeAlso: #3181
Format of HRPAL parameter block:
Offset Size Description (Table 3169)
00h WORD 0300h (length of following data)
02h 768 BYTEs buffer containing previously-saved palette table
SeeAlso: #3189
Format of HSBCOL parameter block:
Offset Size Description (Table 3170)
00h WORD 0004h (length of following data)
02h DWORD color index for new background color
SeeAlso: #3174
Format of HSBP parameter block:
Offset Size Description (Table 3171)
00h WORD 000Ch (length of following data)
02h DWORD bitmask for graphics updates
06h DWORD bitmask for alphanumeric updates
0Ah DWORD display bitmask
Format of HSCELL parameter block:
Offset Size Description (Table 3172)
00h
Format of HSCMP parameter block:
Offset Size Description (Table 3173)
00h WORD 0005h (length of following data)
02h DWORD comparison color
06h BYTE logical operation
00h True
01h pel > testcolor
02h pel == testcolor
03h pel < testcolor
04h False
05h pel >= testcolor
06h pel <> testcolor
07h pel <= testcolor
Format of HSCOL parameter block:
Offset Size Description (Table 3174)
00h WORD 0004h (length of following data)
02h DWORD color index for new foreground color
SeeAlso: #3170
Format of HSCOORD parameter block:
Offset Size Description (Table 3175)
00h WORD 0003h (length of following data)
02h BYTE coordinate format
bits 7-4: bytes per coordinate
bits 3-0: fraction bytes in coordinate
03h BYTE relative coordinates format
bits 7-4: bytes per coordinate
bits 3-0: fraction bytes in coordinate
04h BYTE number of dimensions (2-4)
Format of HSCP parameter block:
Offset Size Description (Table 3176)
00h WORD 0004h (length of following data)
02h 2 WORDs X,Y or coordinate for new current position
Format of HSCS parameter block:
Offset Size Description (Table 3177)
00h WORD 0004h (length of following data)
02h DWORD -> character set definition
Format of HSGQ parameter block:
Offset Size Description (Table 3178)
00h WORD 0002h (length of following data)
02h WORD quality settings (see #3180)
Format of HSHS parameter block:
Offset Size Description (Table 3179)
00h WORD 0008h (length of following data)
02h WORD left edge of clipping rectangle (-2048 to +6143)
04h WORD right edge
06h WORD top edge
08h WORD bottom edget
Bitfields for 8514/A quality settings:
Bit(s) Description (Table 3180)
15 reserved
14 high precision
13 reserved
12-11 pel code
00 not drawn
01 drawn
02 conditional on overpainting/mixes
10 don't close areas to be filed
9-0 reserved
Format of HSLPC parameter block:
Offset Size Description (Table 3181)
00h WORD 0000h (no data following)
Note: used for continuity of lines crossing scissors boundaries
SeeAlso: #3168
Format of HSLT parameter block:
Offset Size Description (Table 3182)
00h WORD 0006h (length of following data)
02h BYTE line type (see #3183)
03h BYTE reserved
04h DWORD -> user line-type definition (if user type)
SeeAlso: #3184
(Table 3183)
Values for 8514/A line type:
00h user line type
01h dotted
02h short dashes
03h dash-dot
04h double dotted
05h dashed
06h dash double dot
07h solid
08h invisible
SeeAlso: #3182
Format of HSLW parameter block:
Offset Size Description (Table 3184)
00h WORD 0001h (length of following data)
02h BYTE width of line in pixels
SeeAlso: #3182
Format of HSMODE parameter block:
Offset Size Description (Table 3185)
00h WORD 0001h (length of following data)
02h BYTE new display mode number (see #3159)
Format of HSMRK paramter block:
Offset Size Description (Table 3186)
00h WORD 000Eh (length of following data)
02h BYTE cell width
03h BYTE cell height
04h BYTE flags
05h BYTE reserved
06h WORD length of marker symbol
08h DWORD -> image definition data
0Ch DWORD -> color definition data
SeeAlso: #3190
Format of HSMX parameter block:
Offset Size Description (Table 3187)
00h WORD 0002h (length of following data)
02h BYTE foreground mix (see #3188)
03h BYTE background mix (see #3188)
(Table 3188)
Values for 8514/A mix:
00h retain previous mix
01h source OR destination
02h source
04h source XOR destination
05h leave as-is
06h max(source,destination)
07h min(source,destination)
08h source+destination (clipped)
09h destination-source (clipped to zero)
0Ah source-destination (clipped to zero)
0Bh average source and destination
10h zero destination
11h source AND destination
12h source AND NOT destination
13h source
14h NOT source AND destination
15h leave as-is
16h source XOR destination
17h source OR destination
18h NOT source AND NOT destination
19h NOT (source XOR destination)
1Ah NOT destination
1Bh source OR NOT destination
1Ch NOT source
1Dh NOT source OR destination
1Eh NOT source OR NOT destination
1Fh set all bits of destination
Format of HSPAL parameter block:
Offset Size Description (Table 3189)
00h WORD 0300h (length of following data)
02h 768 BYTEs buffer for palette table
SeeAlso: #3155,#3169
Format of HSPATT parameter block:
Offset Size Description (Table 3190)
00h WORD 000Eh (length of following data)
02h BYTE cell width
03h BYTE cell height
04h BYTE flags
05h BYTE reserved
06h WORD length of marker symbol
08h DWORD -> image definition data
0Ch DWORD -> color definition data
SeeAlso: #3186,#3191
Format of HSPATTO parameter block:
Offset Size Description (Table 3191)
00h WORD 0004h (length of following data)
02h 2 WORDs X,Y of pattern reference point (origin)
SeeAlso: #3190
Format of HSYNC parameter block:
Offset Size Description (Table 3192)
00h WORD 0002h (length of following data)
02h WORD segment of task state buffer
SeeAlso: #3153
Format of HXLATE parameter block:
Offset Size Description (Table 3193)
00h WORD 0020h (length of following data)
02h 32 BYTEs color index table
--------V-7F0105-----------------------------
INT 7F - IBM XGA Adapter Interface (XGAAIDOS.SYS)
AX = 0105h
Return: CF set on error
CF clear if successful
CX:DX -> array of FAR pointers to entry points (see #3126)
Note: this API is a superset of the 8514/A Adapter Interface
(see AX=0105h"HDILOAD")
--------V-7F0106-----------------------------
INT 7F - HDILOAD Mach32 Adapter Interface - UNINSTALL
AX = 0106h
Return: AX = 0105h if successfully unloaded
SeeAlso: AX=0105h
--------N-7F02-------------------------------
INT 7F - Alloy NTNX, MW386 - RELEASE SEMAPHORE
AH = 02h
DS:DX -> ASCIZ semaphore name (max 64 bytes)
Return: AL = status (see #3120)
AH = semaphore owner if status=02h
SeeAlso: AH=00h,AH=01h,AH=42h
--------T-7F02-------------------------------
INT 7F - MultiLink Advanced v1.0+ - RELEASE CPU
AH = 02h
Return: ???
Desc: yields CPU to other tasks
SeeAlso: AH=00h"MultiLink",AH=09h"MultiLink",INT 15/AX=1000h
--------N-7F02-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - SEND FRAME
AH = 02h
AL = stream number (01h-40h)
CX = length of frame
ES:SI -> frame to be sent
SeeAlso: AH=00h"G8BPQ",AH=03h"G8BPQ",AH=07h"G8BPQ",AH=0Ah"G8BPQ"
--------f-7F0200-----------------------------
INT 7F - Btrieve Multi-User - GIVE UP TIME???
AX = 0200h
SeeAlso: INT 2F/AX=AB01h,INT 2F/AX=AB02h,INT 7B"Btrieve"
--------N-7F03-------------------------------
INT 7F - Alloy ANSK, NTNX, MW386 - GET USER NUMBER
AH = 03h
Return: AL = user number
AH = machine number (MW386)
Note: this function call is the recommended method for a CPU-bound process to
prevent its priority from being lowered
SeeAlso: AH=04h,AH=05h,AH=A1h
--------N-7F03-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE FRAME
AH = 03h
AL = stream number (01h-40h)
ES:DI -> buffer for frame (must be large enough for a full frame; 350
bytes is usually sufficient)
Return: BX = number of pending frames (0000h if returned frame was last avail)
CX = length of received frame
SeeAlso: AH=02h"G8BPQ",AH=07h"G8BPQ",AH=0Bh"G8BPQ"
--------N-7F04-------------------------------
INT 7F - Alloy NTNX, MW386 - GET NUMBER OF USERS
AH = 04h
Return: AL = total number of users on currrent machine (MW386)
AL = number of slaves on system (NTNX)
SeeAlso: AH=03h
--------N-7F04-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - GET STREAM STATUS
AH = 04h
AL = stream number (01h-40h)
Return: CX = state (0000h disconnected, 0001h connected)
DX = delta state (0000h no change, 0001h changed since last check)
SeeAlso: AH=00h"G8BPQ",AH=02h"G8BPQ",AH=05h"G8BPQ"
--------N-7F05-------------------------------
INT 7F - Alloy NTNX (Host) - LOCK/UNLOCK SYSTEM, SPOOLER CONTROL
AH = 05h
AL = function
00h lock system (disable slave services)
01h unlock system
02h enable spooler
03h disable spooler
04h enable slave timer update
05h disable slave timer update
06h enable form feeds
07h disable form feeds
SeeAlso: INT 17/AH=A4h
--------N-7F05-------------------------------
INT 7F - Alloy NTNX (Slave), MW386 - GET USER PARAMETERS
AH = 05h
DX:DI -> buffer for user information record (see #3194)
Notes: MW386 provides this function for backward compatibility only, and sets
many of the fields to zero because they are meaningless under MW386
this function has no effect when called by the host (user 0)
SeeAlso: AH=03h
Format of Alloy user information record:
Offset Size Description (Table 3194)
00h WORD segment of video RAM
02h WORD segment of secondary copy of video RAM
04h WORD offset of screen update flag (see INT 10/AH=8Bh)
flag nonzero if update needed
06h WORD video NMI enable port
(not used by MW386, set to 0000h)
08h WORD video NMI disable port
(not used by MW386, set to 0000h)
0Ah BYTE processor type
00h 8088
01h V20
02h 8086
03h V30
06h 80386
0Bh WORD multitasking flag (00h = single tasking, 01h = multitasking)
(not used by MW386, set to 0000h)
0Dh WORD offset of terminal driver
(not used by MW386, set to 0000h)
0Fh BYTE port for console I/O
(not used by MW386, set to 0000h)
10h WORD offset of processor communication busy flag
bit 7 set when slave communicating with host
12h WORD pointer to FAR NX system call
(not used by MW386, set to 0000h)
14h WORD offset of 16-byte user configuration record (see AH=38h)
16h WORD offset of command/status word
18h WORD offset of screen valid flag (see INT 10/AH=93h)
nonzero if screen must be repainted
1Ah WORD offset of screen repaint flag
1Ch WORD pointer to NEAR NX system call
(not used by MW386, set to 0000h)
1Eh WORD offset for intercept flags
(not used by MW386, set to 0000h)
intercept flag = FFh if MS-DOS intercepts should be disabled
20h WORD offset of terminal lock flag (see INT 10/AH=92h)
lock flag = FFh if backgrnd screen updates should be suspended
22h 26 BYTEs reserved
--------N-7F05-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - ACKNOWLEDGE STREAM STATUS CHANGE
AH = 05h
AL = stream number (01h-40h)
Note: this function must be called in order to receive a report of another
status change
SeeAlso: AH=00h"G8BPQ",AH=04h"G8BPQ"
--------N-7F06-------------------------------
INT 7F - Alloy NTNX (Host) - GET SHARED DRIVE INFO
AH = 06h
AL = drive number (1=A:, 2=B:, etc)
ES:DI -> drive info record (see #3195)
Return: AX = status
0000h successful
ES:DI buffer filled
0001h not shared drive
Format of Alloy drive info record:
Offset Size Description (Table 3195)
00h WORD segment of drive IO-REQUEST structure (MS-DOS DPB)
02h WORD segment of allocation map (owner table)
one byte per FAT entry, containing user ID owning that entry
04h WORD segment of master FAT for drive (copy of FAT on disk)
06h WORD pointer to configuration file
08h WORD total number of clusters
0Ah WORD bytes per sector
0Ch WORD sectors per cluster
0Eh BYTE FAT type (0Ch = 12-bit, 10h = 16-bit)
--------N-7F06-------------------------------
INT 7F - Alloy NTNX (Slave) - ALLOCATE FREE CLUSTER ON SHARED DRIVE
AH = 06h
DL = drive number (1=A:,2=B:,etc)
CX = number of clusters to allocate
Return: AH = status
00h successful
CX = number of clusters still free
10h invalid shared drive request
CL = first and second shared drives
11h invalid cluster count (must be 01h-FFh)
--------N-7F06-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - SESSION CONTROL
AH = 06h
AL = stream number (01h-40h)
CX = subfunction
0000h connect to node
DL bit 0: use BBS callsign instead of Node Call
0001h connect to node
use BBS Call if APPLMASK=1
0002h disconnect
0003h return user to node
SeeAlso: AH=01h"G8BPQ",AH=04h"G8BPQ"
--------N-7F07-------------------------------
INT 7F - Alloy NTNX, MW386 - GET LIST OF SHARED DRIVES
AH = 07h
Return: ES:DI -> shared drive list (see #3196)
Note: MW386 considers all fixed disks to be shared drives; only C and D will
be returned as shared
Format of Alloy shared drive list:
Offset Size Description (Table 3196)
00h BYTE string length
01h BYTE number of shared drives
02h N BYTEs one byte per shared drive
--------N-7F07-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - GET BUFFER COUNTS FOR STREAM
AH = 07h
AL = stream number (01h-40h)
Return: BX = number of pending receive frames
CX = number of unacknowledged sent frames
DX = number of buffers available
SeeAlso: AH=02h"G8BPQ",AH=03h"G8BPQ"
--------N-7F08-------------------------------
INT 7F - Alloy NTNX (Host) - GET INTERRUPT VECTORS
AH = 08h
CL = function
00h get original interrupt vector
01h get Network Executive interrrupt
AL = interrupt number
DX:SI -> DWORD to hold interrupt vector
Return: AL = status
00h successful
01h interrupt vector not used by network executive
02h invalid subfunction
Note: the network executive uses interrupts 02h,08h,09h,0Fh,10h,13h,16h-19h,
1Ch,20h,28h,2Ah,2Fh,5Bh,67h,7Fh,ECh, and F0h-FFh
SeeAlso: AH=09h/CL=03h,INT 21/AH=35h
--------N-7F08--CL02-------------------------
INT 7F - Alloy NTNX - SET MESSAGE DISPLAY TIMEOUT
AH = 08h
CL = 02h
DX = timeout in seconds
Return: AL = status
00h successful
02h invalid subfunction
--------N-7F08-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - PORT CONTROL/INFORMATION
AH = 08h
AL = stream number (01h-40h)
Return: ES:DI -> 10-byte buffer containing blank-padded callsign
---v4.05+ ---
AL = radio port to which channel is connected (level 2)
AH = session type (see #3197)
BX = L2 paclen for session
CX = maximum frame size
DX = L4 window size or 0000h if not L4 circuit
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
John Wiseman which allows a PC to act as a node in an AX.25 network
SeeAlso: AH=01h"G8BPQ",AH=02h"G8BPQ",AH=03h"G8BPQ",AH=0Ah"G8BPQ"
Bitfields for G8BPQ session type:
Bit(s) Description (Table 3197)
0 L2LINK
1 SESSION
2 UPLINK
3 DOWNLIND
5 BPQHOST
--------T-7F09-------------------------------
INT 7F - MultiLink Advanced v1.0+ - SET TASK PRIORITY
AH = 09h
AL = priority (0-7)
Note: the installation check consists of ensuring that the interrupt vector
is not pointing at segment 0000h, then checking whether the byte
at offset 0000h in the interrupt handler's segment is E9h
Index: installation check;MultiLink Advanced
SeeAlso: AH=00h"MultiLink",AH=0Ah"MultiLink"
--------N-7F09-------------------------------
INT 7F - G8BPQ - proposed addition - GET NODE/APPLICATION CALLSIGN AND ALIAS
AH = 09h
AL = application
00h node
01h BBS
02h HOST
03h SYSOP
BL = what to get (00h callsign, 01h application name)
ES:SI -> buffer for callsign/name string
Return: CX = length of returned string
SeeAlso: AH=00h"G8BPQ",AH=01h"G8BPQ",AH=0Ch"G8BPQ"
--------N-7F09-------------------------------
INT 7F - Alloy NTNX - ENABLE/DISABLE MUD FILE CHECKING
AH = 09h
CL = function
00h enable checking of RTNX.MUD file
01h disable RTNX.MUD checking
--------N-7F09--CL02-------------------------
INT 7F - Alloy NTNX - SWITCH HOST TO DEDICATED MODE
AH = 09h
CL = 02h
Note: in dedicated mode, the host will only poll for I/O requests from the
slave processors, and not provide workstation services
--------N-7F09--CL03-------------------------
INT 7F - Alloy NTNX,MW386 - GET ALTERNATE INTERRUPT
AH = 09h
CL = 03h
AL = default interrupt number (67h,7Fh,etc)
Return: CL = actual interrupt which handles specified interrupt's calls
SeeAlso: AH=08h
--------N-7F0A--CL00-------------------------
INT 7F - Alloy NTNX - GET SYSTEM FLAGS
AH = 0Ah
CL = 00h
ES:DI -> buffer for system flags (see #3198)
Return: ES:DI buffer filled
Notes: on a slave, only the NX_Busy flag is returned
all three flags are at fixed positions, so this function only needs to
be called once
an interrupt handler should only perform DOS or device accesses when
all three flags are 00h
Format of Alloy system flags:
Offset Size Description (Table 3198)
00h DWORD pointer to NX_Busy flag (nonzero when communicating with users)
04h DWORD pointer to device driver busy flag
08h DWORD pointer to InTimer flag
--------N-7F0A-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - TRANSMIT RAW (KISS) FRAME
AH = 0Ah
AL = radio port
ES:SI -> buffer containing data to be sent
CX = number of bytes to send
SeeAlso: AH=02h"G8BPQ",AH=08h"G8BPQ",AH=0Bh"G8BPQ"
--------T-7F0A-------------------------------
INT 7F - MultiLink Advanced v1.0+ - SET KEYBOARD TEST STATUS
AH = 0Ah
AL = task-switch status
00h normal (disable task when it repeatedly polls keyboard)
01h disable task until keyboard input available
FFh never disable task
Return: ???
SeeAlso: AH=09h"MultiLink"
--------N-7F0B--CL02-------------------------
INT 7F - Alloy NTNX (Host) - SET/RESET GRAPHICS DOS ON SLAVE
AH = 0Bh
CL = 02h
AL = slave ID number
CH = DOS to activate
00h graphics DOS
01h character DOS
Return: AL = status
00h successful
01h nothing done, proper DOS type already loaded
--------N-7F0B-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - RECEIVE TRACE (RAW DATA) FRAME
AH = 0Bh
ES:DI -> buffer for received data (see #3199)
Return: CX = number of bytes received
Note: the specified buffer must be large enough to receive a full frame
SeeAlso: AH=03h"G8BPQ",AH=08h"G8BPQ",AH=0Ah"G8BPQ"
Format of G8BPQ received data:
Offset Size Description (Table 3199)
00h WORD internal control information
02h BYTE port number (bit 7 set if transmitted frame)
03h WORD frame length including this header
05h var user data
--------N-7F0C-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - UPDATE SWITCH INFORMATION
AH = 0Ch
DX = function
0001h update beacon text
CX = length of data
ES:SI -> data to be sent in beacons
0002h (v4.07+) initiate NODES broadcast
SeeAlso: AH=09h"G8BPQ"
--------N-7F0D00-----------------------------
INT 7F - G8BPQ v4.07+ - HOST MODE - GET AVAILABLE STREAM
AX = 0D00h
Return: AL = first available stream number, or FFh if none free
SeeAlso: AH=00h"G8BPQ",AH=0Dh
--------N-7F0D-------------------------------
INT 7F - G8BPQ v4.07+ - HOST MODE - ALLOCATE/DEALLOCATE STREAM
AH = 0Dh
AL = stream number (01h-FFh)
CL = function
01h allocate stream
Return: CX = status (0000h successful, else already in use)
02h deallocate stream
SeeAlso: AX=0D00h
--------N-7F0F-------------------------------
INT 7F - G8BPQ v4.00+ - HOST MODE - GET TIME MARKER
AH = 0Fh
Return: AX = time marker (clock ticks modulo 64K)
Program: the G8BPQ AX25 Networking Package is amateur packet radio software by
John Wiseman which allows a PC to act as a node in an AX.25 network
SeeAlso: AH=01h"G8BPQ",AX=0D00h,INT 1A/AH=00h
--------N-7F10--CL00-------------------------
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - OPEN CHANNEL
AH = 10h
CL = 00h
AL = channel number
DX:DI -> channel buffer
Return: AL = status (00h-03h,0Dh) (see #3200)
Note: may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=01h,AH=10h/CL=04h,AH=14h/CL=02h
(Table 3200)
Values for Alloy function status:
00h successful
01h busy
02h channel range error (not 00h-3Fh)
03h invalid subfunction
0Ah channel not open
0Ch channel already locked
0Dh unable to open
--------N-7F10--CL01-------------------------
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE CHANNEL
AH = 10h
CL = 01h
AL = channel number
Return: AL = status (00h-03h,0Ah) (see #3200)
Note: may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=00h,AH=10h/CL=05h
--------N-7F10--CL02-------------------------
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK CHANNEL
AH = 10h
CL = 02h
AL = channel number
Return: AL = status (00h-03h,0Ah,0Ch) (see #3200)
Note: may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=03h,AH=10h/CL=06h,AH=10h/CL=08h
--------N-7F10--CL03-------------------------
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK CHANNEL
AH = 10h
CL = 03h
AL = channel number
Return: AL = status (00h-03h,0Ah) (see #3200)
Notes: should only be used on channels locked with AH=10h/CL=02h, not on those
locked by receipt of a datagram
may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=02h,AH=10h/CL=04h,AH=10h/CL=09h
--------N-7F10--CL04-------------------------
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - RELEASE BUFFER
AH = 10h
CL = 04h
AL = channel number
Return: AL = status (00h-03h) (see #3200)
Notes: unlocks buffer after received datagram has been processed
may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=00h
--------N-7F10--CL05-------------------------
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - CLOSE ALL CHANNELS
AH = 10h
CL = 05h
Return: AL = status (00h-03h) (see #3200)
Notes: clears all pending datagrams and clears buffer pointers before closing
the channels
may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=01h
--------N-7F10--CL06-------------------------
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK ALL OPEN CHANNELS
AH = 10h
CL = 06h
Return: AL = status (00h-03h) (see #3200)
Note: may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=02h,AH=10h/CL=08h
--------N-7F10--CL07-------------------------
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK ALL LOCKED IDLE CHANNELS
AH = 10h
CL = 07h
Return: AL = status (00h-03h) (see #3200)
Notes: unlocks all locked channels which have no pending datagrams
may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=03h,AH=10h/CL=09h
--------N-7F10--CL08-------------------------
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - LOCK MULTIPLE CHANNELS
AH = 10h
CL = 08h
DX = maximum channel number to lock
Return: AL = status (00h-03h) (see #3200)
Notes: locks channels numbered 00h through the value in DX
may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=02h,AH=10h/CL=06h,AH=10h/CL=09h
--------N-7F10--CL09-------------------------
INT 7F - Alloy NTNX, MW386 - CHANNEL CONTROL - UNLOCK MULTIPLE CHANNELS
AH = 10h
CL = 09h
DX = maximum channel number to unlock
Return: AL = status (00h-03h) (see #3200)
Notes: unlocks channels numbered 00h through the value in DX
may not be invoked from within a hardware interrupt handler
SeeAlso: AH=10h/CL=03h,AH=10h/CL=07h,AH=10h/CL=08h
--------N-7F11-------------------------------
INT 7F - Alloy NTNX, MW386 - SEND DATAGRAM
AH = 11h
DX:SI -> request block (see #3202)
Return: AL = status (see #3201)
Note: if wildcard channel FFh used, actual channel number will be filled in
SeeAlso: AH=12h
(Table 3201)
Values for Alloy function status:
00h successful
01h busy
02h channel range error (not 00h-3Fh)
03h invalid subfunction
0Ah packet too large (or <2 bytes if NTNX)
0Bh can't send packet to itself
0Ch invalid number of destinations
0Dh destination channel number out of range
0Eh destination user is busy
0Fh destination user has locked channel
10h channel not open
11h no datagram server on destination (NTNX)
Format of Alloy request block:
Offset Size Description (Table 3202)
00h DWORD pointer to packet to send
04h WORD packet size in bytes (1-4096)
06h BYTE number of destinations for packet (max 1Fh)
07h 31 BYTEs destination user IDs (FFh = broadcast to all except sender)
26h 31 BYTEs destination channels (FFh = first available channel)
45h 31 BYTEs return destination statuses
--------N-7F12-------------------------------
INT 7F - Alloy NTNX, MW386 - ACKNOWLEDGE DATAGRAM
AH = 12h
AL = channel number being acknowledged
DI:DX = 32-bit status to return to sender
Return: AL = status (see #3203)
Note: also unlocks the channel, allowing the next datagram to be received
SeeAlso: AH=11h,AH=15h/CL=04h
(Table 3203)
Values for Alloy function status:
00h successful
01h busy
02h channel range error (not 00h-3Fh)
03h invalid subfunction
0Ah channel not open
0Bh no message in channel
0Ch destination slave busy--retry (NTNX)
0Dh destination user not active
0Eh destination slave not active (NTNX)
0Fh destination disabled datagram service
--------V-7F1234-----------------------------
INT 7F - TIGA Communications Driver v2.05 - UNINSTALL
AX = 1234h
SeeAlso: AX=4321h
--------N-7F13--CL00-------------------------
INT 7F - Alloy NTNX, MW386 - RESET USER DATAGRAMS
AH = 13h
CL = 00h
Note: clears all pending datagrams and removes all channels opened in NTNX
compatibility mode
--------N-7F14--CL00-------------------------
INT 7F - Alloy NTNX, MW386 - SET RECEIVE ISR
AH = 14h
CL = 00h
DX:DI -> application FAR receive service routine (see #3204)
Return: AL = status (00h-03h) (see #3203)
SeeAlso: AH=14h/CL=01h,AH=14h/CL=03h
(Table 3204)
Values Alloy receive service routine is called with:
DH = sender ID
DL = channel with datagram
interrupts disabled
Return: AL = response code
00h leave buffer locked, set channel status, and repeat call later
01h release channel buffer
02h change buffer pointer to DX:DI
AH,CX,DX,DI,SI may be destroyed
--------N-7F14--CL01-------------------------
INT 7F - Alloy NTNX, MW386 - SET ACKNOWLEDGE ISR
AH = 14h
CL = 01h
DX:DI -> application FAR acknowledge service routine (see #3205)
Return: AL = status (00h-03h) (see #3203)
Note: the service routine will be called as soon as an acknowledgment arrives
SeeAlso: AH=12h,AH=14h/CL=00h,AH=14h/CL=04h,AH=15h/CL=04h
(Table 3205)
Values Alloy acknowledge service routine is called with:
DS:SI -> acknowledge structure (see #3209)
Return: AL = response code
00h application busy, network executive should call again later
01h acknowledge accepted
AH,DX,SI may be destroyed
--------N-7F14--CL02-------------------------
INT 7F - Alloy NTNX, MW386 - SET CHANNEL BUFFER POINTER
AH = 14h
CL = 02h
AL = channel number
DX:DI -> receive buffer
Return: AL = status (00h-03h) (see #3203)
Note: may be called from within a receive ISR or when a datagram is pending
SeeAlso: AH=10h/CL=00h,AH=14h/CL=00h
--------N-7F14--CL03-------------------------
INT 7F - Alloy NTNX, MW386 - GET RECEIVE ISR
AH = 14h
CL = 03h
Return: DX:DI -> current receive ISR
SeeAlso: AH=14h/CL=00h,AH=14h/CL=04h
--------N-7F14--CL04-------------------------
INT 7F - Alloy NTNX, MW386 - GET ACKNOWLEDGE ISR
AH = 14h
CL = 04h
Return: DX:DI -> current acknowledge ISR
SeeAlso: AH=14h/CL=01h,AH=14h/CL=03h
--------N-7F14--CL05-------------------------
INT 7F - Alloy NTNX (Host), MW386 - GET BUSY POINTER
AH = 14h
CL = 05h
DX:DI -> buffer for busy structure (see #3206)
Return: DX:DI buffer filled
Format of Alloy busy structure:
Offset Size Description (Table 3206)
00h DWORD pointer to busy flag byte
04h WORD fixed port address (FF00h)
--------N-7F15--CL00-------------------------
INT 7F - Alloy NTNX, MW386 - GET CHANNEL STATUS
AH = 15h
CL = 00h
AL = channel number
DX:DI -> status structure (see #3207)
Return: AL = status (00h-03h) (see #3203)
SeeAlso: AH=15h/CL=01h
Format of Alloy channel status structure:
Offset Size Description (Table 3207)
00h BYTE channel status
bit 0: channel open
bit 1: channel buffer contains received data
bit 7: channel locked
01h BYTE sender ID
--------N-7F15--CL01-------------------------
INT 7F - Alloy NTNX, MW386 - GET NEXT FULL CHANNEL
AH = 15h
CL = 01h
DX:DI -> full-channel structure (see #3208)
Return: AL = status
00h successful
01h busy
0Ah no datagrams available
Note: MW386 v1.0 returns the lowest channel with a datagram; newer versions
and NTNX return the oldest datagram
SeeAlso: AH=15h/CL=00h
Format of Alloy full-channel structure:
Offset Size Description (Table 3208)
00h BYTE number of channel with oldest datagram
01h BYTE sender ID
--------N-7F15--CL02-------------------------
INT 7F - Alloy NTNX, MW386 - GET MAXIMUM NUMBER OF CHANNELS
AH = 15h
CL = 02h
Return: AH = number of channels available (40h for MW386)
Note: the application may always assume at least 32 channels available
SeeAlso: AH=15h/CL=03h
--------N-7F15--CL03-------------------------
INT 7F - Alloy NTNX, MW386 - GET MAXIMUM PACKET SIZE
AH = 15h
CL = 03h
DX:DI -> WORD for return value
Return: buffer WORD filled with maximum packet size (4096 for MW386)
SeeAlso: AH=15h/CL=02h
--------N-7F15--CL04-------------------------
INT 7F - Alloy NTNX, MW386 - GET AND CLEAR ACKNOWLEDGE STATUS
AH = 15h
CL = 04h
DX:DI -> status structure (see #3209)
Return: AL = status
00h successful
DX:DI structure filled
01h busy
0Ah no acknowledgement has arrived
SeeAlso: AH=12h,AH=14h/CL=01h
Format of Alloy status structure:
Offset Size Description (Table 3209)
00h BYTE sender ID
01h BYTE channel number
02h 4 BYTEs receiver status (see #3203)
--------N-7F16-------------------------------
INT 7F - Alloy NTNX, MW386 - DIRECT MEMORY TRANSFER
AH = 16h
DX:SI -> transfer structure (see #3210)
Return: AL = status
00h successful
0Ah source or destination out of range
0Bh transfer kernel busy--try again
Notes: this call transfers memory contents directly between users; both source
and destination user IDs may differ from the caller's ID
no segment wrap is allowed
Format of Alloy transfer structure:
Offset Size Description (Table 3210)
00h WORD bytes to transfer
02h BYTE source ID
FEh = caller
03h DWORD source address
07h BYTE destination ID
FFh = all slaves except caller
FEh = caller
08h DWORD destination address
--------N-7F21-------------------------------
INT 7F - Alloy NTNX, MW386 - SEND MESSAGE OR COMMAND TO USER(S)
AH = 21h
AL = sender's user ID
DS:DX -> control packet (see #3211)
Note: messages or commands are ignored if disabled by the destination user
SeeAlso: AH=22h
Format of Alloy control packet:
Offset Size Description (Table 3211)
00h BYTE packet type
00h message
01h NTNX command
02h MW386 command
01h BYTE destination user ID or 'A' for all users
02h 62 BYTEs ASCIZ message (packet type 00h)
BIOS keycodes terminated by NUL byte (type 01h) or word (02h)
Note: a maximum of 16 keycodes will be processed for NTNX and MW386 commands
--------N-7F22-------------------------------
INT 7F - Alloy NTNX - GET MESSAGE
AH = 22h
Return: pending messages displayed on user's screen
SeeAlso: AH=21h
--------N-7F24-------------------------------
INT 7F - Alloy NTNX, MW386 - ATTACH OR RELEASE DRIVE FOR LOW-LEVEL WRITE ACCESS
AH = 24h
CL = function
00h attach
01h release
CH = drive (0=A:,1=B:,etc)
Return: AX = status (see #3212)
Note: only drives on the current machine may be attached
(Table 3212)
Values for Alloy function status:
00h successful
01h invalid request
02h already attached
03h not attached
04h lock table full
--------N-7F24-------------------------------
INT 7F - Alloy NTNX - ATTACH/RELEASE HOST PROCESSOR
AH = 24h
CL = function
02h attach host
03h release host
Return: AX = status (see #3212)
Note: the host processor may be attached in order to perform I/O via the host
--------N-7F25--CL00-------------------------
INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE VERSION
AH = 25h
CL = 00h
Return: AH = version suffix letter
CH = major version number
CL = minor version number
SeeAlso: AH=25h/CL=01h
--------N-7F25--CL01-------------------------
INT 7F - Alloy ANSK, NTNX, MW386 - GET NETWORK EXECUTIVE TYPE
AH = 25h
CL = 01h
Return: CL = executive type (see #3213)
SeeAlso: AH=25h/CL=00h
(Table 3213)
Values for Alloy network executive type:
00h RTNX
01h ATNX
02h NTNX
03h BTNX
04h MW386
05h ANSK
--------V-7F2525-----------------------------
INT 7F - TIGA Communications Driver v2.05 - ???
AX = 2525h
BX = ???
Return: ???
SeeAlso: AX=4321h,AX=5555h
--------N-7F26--CL00-------------------------
INT 7F - Alloy NTNX, MW386 - GET NTNX FILE MODE
AH = 26h
CL = 00h
Return: AX = file mode bits (see #3214)
Note: MW386 does not support file modes, and always returns AX=001Fh
SeeAlso: AH=26h,AH=26h/CL=06h
Bitfields for Alloy file mode bits:
Bit(s) Description (Table 3214)
0 directory protection enabled
1 extended open enabled
2 flush on every disk write
3 flush on every disk write in locked interval
4 flush on reads from simultaneously opened file
--------N-7F26-------------------------------
INT 7F - Alloy NTNX - SET FILE I/O CHECKING LEVEL
AH = 26h
CL = check type to set/reset
01h directory protection
02h extended open
03h flush on every disk write
04h flush on disk write if any lock set during write
05h flush on all reads if file written
AL = new state (00h off, 01h on)
SeeAlso: AH=26h/CL=00h,AH=26h/CL=06h
--------N-7F26--CL06-------------------------
INT 7F - Alloy NTNX - CANCEL FLUSH ON WRITE
AH = 26h
CL = 06h
Note: cancels flags set by AH=26h/CL=03h and AH=26h/CL=04h
SeeAlso: AH=26h/CL=00h
--------N-7F30-------------------------------
INT 7F - Alloy MW386 - GET PORT INFORMATION
AH = 30h
CX = MW386 port number
Return: AL = result
FFh if port not found
else driver unit number
BL = port mode
BH = port type
02h remote
DH = owner's machine ID
DL = owner's user ID
SeeAlso: INT 17/AH=8Bh
--------N-7F31-------------------------------
INT 7F - Alloy MW386 v1.x only - CHECK PORT ASSIGNMENT
AH = 31h
???
Return: ???
--------N-7F37-------------------------------
INT 7F - Alloy NTNX (Host) - GET SEMAPHORE TABLE
AH = 37h
Return: ES:AX -> semaphore table
--------N-7F37-------------------------------
INT 7F - Alloy ANSK, NTNX (Slave) - DUMP STRING TO TERMINAL
AH = 37h
DS:DX -> ASCIZ string to display
Note: if the string is empty, a terminal update will be forced
--------N-7F38-------------------------------
INT 7F - Alloy NTNX (Slave), MW386 - SET NEW TERMINAL DRIVER
AH = 38h
AL = new terminal driver number
FFh dummy driver
FEh current driver
FDh load new driver
DS:SI -> new driver
SeeAlso: AH=39h
--------N-7F39-------------------------------
INT 7F - Alloy MW386 - SET TERMINAL DRIVER FOR ANOTHER USER
AH = 39h
AL = new terminal driver number
FFh dummy driver
FEh current driver
FDh load new driver
DS:SI -> new driver
DL = user number (FFh = caller)
DH = machine number if DL <> FFh
Return: CF set if invalid user number
CF clear if successful
Notes: only available to supervisors
the new driver number will not take effect until the user is rebooted
SeeAlso: AH=38h
--------N-7F3A-------------------------------
INT 7F - Alloy MW386 - GET TERMINAL PARAMETERS
AH = 3Ah
DL = user number (FFh = caller)
DH = machine number
Return: CF clear if successful
AH = terminal driver number
AL = baud rate (00h = 38400, 01h = 19200, etc)
CL = parity (00h none, 01h even, 02h odd)
CH = handshaking (00h none, 01h XON/XOFF, 02h DTR/DSR, 03h XPC)
CF set if invalid user number
SeeAlso: AH=3Bh
--------N-7F3B-------------------------------
INT 7F - Alloy MW386 - SET TERMINAL PARAMETERS
AH = 3Bh
AL = baud rate (00h = 38400, 01h = 19200, etc)
CL = parity (00h none, 01h even, 02h odd)
CH = handshaking (00h none, 01h XON/XOFF, 02h DTR/DSR, 03h XPC)
DL = user number (FFh = caller)
DH = machine number for user
Return: CF set if invalid user number
Notes: only available to supervisors
the new parameters will take effect immediately if the user's terminal
has not been started, else AH=3Dh must be called to post the changes
SeeAlso: AH=3Ah,AH=3Dh
--------N-7F3C-------------------------------
INT 7F - Alloy MW386 - ENABLE/DISABLE AUTOBAUD DETECT
AH = 3Ch
AL = new state (00h disabled, 01h enabled)
DL = user number (FFh = caller)
DH = machine number for user
Return: CF set if invalid user number
Note: only available to supervisors
SeeAlso: AH=3Dh
--------N-7F3D-------------------------------
INT 7F - Alloy MW386 - POST TERMINAL CONFIGURATION CHANGES
AH = 3Dh
Note: should be called whenever a program changes the terminal type or its
parameters
SeeAlso: AH=3Bh
--------N-7F41-------------------------------
INT 7F - Alloy NTNX - LOCK FILE FOR USER
AH = 41h
AL = user ID
DS:DX -> ASCIZ filename
Return: AL = status (see #3215)
Note: requests exclusive read/write access to file
SeeAlso: AH=00h,AH=41h"MW386",AH=42h"NTNX"
(Table 3215)
Values for Alloy function status:
00h successful
01h invalid function
02h already locked
03h unable to lock
04h lock table full or semaphore space exhausted
--------N-7F41-------------------------------
INT 7F - Alloy MW386 - LOCK SEMAPHORE FOR USER
AH = 41h
AL = user ID
DS:DX -> ASCIZ semaphore name
Return: AL = status (see #3215)
SeeAlso: AH=00h,AH=42h"MW386"
--------s-7F4150BHC1-------------------------
INT 7F U - Voyetra - AAPISG - API
AX = 4150h ('AP')
BH = C1h
BL = function (00h-13h)
00h initialize (fails except first time called)
???
Return: AX = status???
0000h successful
0001h failed
Program: AAPISG is a driver by Voyetra for the Aztech Sound Galaxy sound board
BUG: the function range check uses JL instead of JB, so it will cause a
crash if BL >= 80h on entry
SeeAlso: AX=4331h,AX=564Dh,AX=5658h
--------N-7F42-------------------------------
INT 7F - Alloy NTNX - UNLOCK FILE FOR USER
AH = 42h
AL = user ID
DS:DX -> ASCIZ filename
Return: AL = status (see #3215)
SeeAlso: AH=00h,AH=41h"NTNX",AH=42h"MW386"
--------N-7F42-------------------------------
INT 7F - Alloy MW386 - UNLOCK SEMAPHORE FOR USER
AH = 42h
AL = user ID
DS:DX -> ASCIZ semaphore name
Return: AL = status
00h successful
01h invalid function
03h unable to unlock semaphore
SeeAlso: AH=02h,AH=41h"MW386",AH=42h"NTNX"
--------V-7F4321-----------------------------
INT 7F - TIGA Communications Driver v2.05 - INSTALLATION CHECK
AX = 4321h
Return: AX = 0000h if installed
Note: INT 7F is the default, but may be overridden
SeeAlso: AH=01h"TIGA",AX=1234h,AX=2525h,AX=4321h,AX=5555h
--------s-7F4331BHC1-------------------------
INT 7F U - Voyetra - VAPISG - API
AX = 4331h ('C1')
BH = C1h
BL = function (00h-7Ah)
???
Return: ???
Program: VAPISG is a MIDI driver by Voyetra for the Aztech Sound Galaxy
sound board
SeeAlso: AX=4150h,AX=564Dh,AX=5658h
--------N-7F4E-------------------------------
INT 7F - Alloy MW386 v2+ - SET ERROR MODE
AH = 4Eh
AL = error mode flags
bit 0: display critical disk errors
bit 1: display sharing errors
DX = 4E58h ("NX")
Return: AL = status
00h successful
SeeAlso: AH=4Fh
--------N-7F4F-------------------------------
INT 7F - Alloy MW386 v2+ - SET FCB MODE
AH = 4Fh
AL = FCB mode
02h read/write compatibility
42h read/write shared
DX = 4E58h ("NX")
Return: AL = status
00h successful
--------V-7F5555-----------------------------
INT 7F - TIGA Communications Driver v2.05 - ???
AX = 5555h
BX = ???
Return: ???
SeeAlso: AX=4321h
--------s-7F564DBHC1-------------------------
INT 7F U - Voyetra Multimedia Player - VMP.EXE API
AX = 564Dh ('VM')
BH = C1h
BL = function (00h-1Bh)
00h ???
Return: CF clear
AX = 0000h
???
Return: AX = FFFFh if invalid function
???
SeeAlso: AX=4331h,AX=5658h
--------s-7F5658BHC1-------------------------
INT 7F U - Voyetra - VAPISG - API
AX = 5658h ('VX')
BH = C1h
BL = function (00h-1Bh)
???
Return: ???
Program: VAPISG is a MIDI driver by Voyetra for the Aztech Sound Galaxy
sound board
SeeAlso: AX=4331h,AX=564Dh
--------N-7F81-------------------------------
INT 7F - Alloy NTNX - ATTACH DEVICE FOR USER
AH = 81h
AL = user ID
DS:DX -> ASCIZ device name
SeeAlso: AH=82h
--------N-7F82-------------------------------
INT 7F - Alloy NTNX - RELEASE DEVICE FOR USER
AH = 82h
AL = user ID
DS:DX -> ASCIZ device name
SeeAlso: AH=81h
--------N-7FA0-------------------------------
INT 7F - Alloy MW386 - GET USER NAME
AH = A0h
DL = user number (FFh = caller)
DH = machine number for user
ES:DI -> 17-byte buffer for ASCIZ user name
Return: CF set if invalid user number
SeeAlso: AH=03h,AH=A1h
--------N-7FA1-------------------------------
INT 7F - Alloy MW386 - GET MACHINE, USER, AND PROCESS NUMBER
AH = A1h
Return: AL = process number
DL = user number
DH = machine number
SeeAlso: AH=03h,AH=A0h,AH=A2h
--------N-7FA2-------------------------------
INT 7F - Alloy MW386 - GET USER PRIVILEGE LEVEL
AH = A2h
DL = user number (FFh = caller)
DH = machine number for user
Return: CF clear if successful
AL = privilege level
00h supervisor
01h high
02h medium
03h low
CF set if invalid user number
SeeAlso: AH=A1h,AH=A3h
--------N-7FA3-------------------------------
INT 7F - Alloy MW386 - GET USER LOGIN STATE
AH = A3h
DL = user number
DH = machine number for user
Return: CF clear if successful
AL = login state
00h never logged in
01h currently logged out
03h currently logged in
CF set if invalid user number or user not active
SeeAlso: AH=A2h
--------N-7FA4-------------------------------
INT 7F - Alloy MW386 - VERIFY USER PASSWORD
AH = A4h
DS:DX -> ASCIZ password (null-padded to 16 bytes)
Return: AL = status
00h accepted
else invalid password
--------N-7FA500-----------------------------
INT 7F - Alloy MW386 - GET USER STATUS
AX = A500h
DI = machine number and user number
Return: CF clear if successful
BX = user flags
bit 5: allow messages
CL = scan code for task manager hotkey
CH = scan code for spooler hotkey
DL = scan code for task swapper hotkey
DH = modifier key status
CF set if invalid user number
SeeAlso: AX=A501h
Index: hotkeys;Alloy MW386
--------N-7FA501-----------------------------
INT 7F - Alloy MW386 - SET USER STATUS
AX = A501h
BX = user flags (see AX=A500h)
CL = scan code for task manager hotkey
CH = scan code for spooler hotkey
DL = scan code for task swapper hotkey
DH = modifier key status
DI = machine number and user number
Return: CF set if invalid user number
Note: must have supervisor privilege to set another user's status
SeeAlso: AX=A500h
Index: hotkeys;Alloy MW386
--------V-7FABCDBX0000-----------------------
INT 7F - IBM 8516 Touch Screen Device Driver - GET API ENTRY
AX = ABCDh
BX = 0000h
Return: AX = total number of functions available
ES:BX -> entry point array (see #3216)
SeeAlso: AX=0104h,AX=0105h
(Table 3216)
Values for 8516 Touch Screen function number:
00h check initialization and reset (see #3217)
14h set user-defined subroutine (see #3218)
Notes: each driver function takes two stack parameters using Pascal calling
conventions: address of parameter block and address of results buffer
all pointers are FAR pointers
on return, AX contains the status of the call:
AX = 0000h successful
0001h invalid input
0002h interface error
0003h unable to perform function
Format of 8516 Touch Screen Function 00h parameter block:
Offset Size Description (Table 3217)
00h WORD 0000h (function number)
Note: this function should be called before any other device driver functions
Format of 8516 Touch Screen Function 00h results buffer:
Offset Size Description (Table 3218)
00h WORD touch screen status
0000h unavailable
0001h uncalibrated
FFFFh available
02h WORD aux mouse status (0000h not present, FFFFh present)
Notes: the following driver parameters will have been reset to zero:
touchdown counter, liftoff counter, position at last touch, position
at last lift, int call mask, select on count, select off count,
pos select on count, pos select off count.
the following driver parameters will have been reset as listed:
mouse emulation mode: left on
thresholds: 46 on screen, 96 push harder, 80 push release
x, y hysteresis: 400
data repeat rate: 40/sec
select mechanism: push-harder - first-touch
coordinate origin: upper left corner
filter frequency: medium
data block mask: all enabled
click lock: on
--------N-7FB0-------------------------------
INT 7F - Alloy NTNX, MW386 - RELEASE ALL SEMAPHORES FOR USER
AH = B0h
AL = user number
DS = code segment
Note: MW386 ignores AL and DS; it releases all semaphores locked using INT 67
or INT 7F locking functions
SeeAlso: AH=B1h,AH=B2h,AH=B3h,AH=B4h
--------N-7FB1--SF00-------------------------
INT 7F - Alloy NTNX, MW386 - RELEASE NORMAL SEMAPHORES FOR USER
AH = B1h subfn 00h
AL = (bits 7-5) 000
(bits 4-0) user ID
Note: MW386 ignores AL; it releases all semaphores locked using INT 67 or
INT 7F locking functions
SeeAlso: AH=B0h,AH=B2h,AH=B3h,AH=B4h
--------N-7FB2--SF01-------------------------
INT 7F - Alloy NTNX - RELEASE MESSAGES FOR USER
AH = B2h subfn 01h
AL = (bits 7-5) 001
(bits 4-0) user ID
SeeAlso: AH=B0h,AH=B1h,AH=B3h,AH=B4h
--------N-7FB3--SF02-------------------------
INT 7F - Alloy NTNX - RELEASE FILES FOR USER
AH = B3h subfn 02h
AL = (bits 7-5) 010
(bits 4-0) user ID
SeeAlso: AH=B0h,AH=B1h,AH=B2h,AH=B4h
--------N-7FB4-------------------------------
INT 7F - Alloy NTNX - RELEASE DEVICES FOR USER
AH = B4h
AL = user ID
SeeAlso: AH=B0h,AH=B1h,AH=B2h,AH=B3h
--------N-7FC3-------------------------------
INT 7F - Alloy MW386 - WRITE BYTE TO TERMINAL AUX PORT
AH = C3h
AL = byte to write
Return: CF clear if successful
CF set on error
SeeAlso: AH=C6h
--------N-7FC5-------------------------------
INT 7F - Alloy MW386 - CHANGE CONSOLE MODE
AH = C5h
AL = new console mode
00h keyboard indirect
01h keyboard direct
02h data handshake enforced
03h no data handshake
Return: CF clear if successful
AL = prior console mode
CF set on error (caller is not remote user)
Note: modes 2 and 3 may be used for input through the console port; no video
output should be performed in these modes
--------N-7FC6-------------------------------
INT 7F - Alloy MW386 - WRITE BYTE TO CONSOLE PORT
AH = C6h
AL = byte to write
Return: CF clear if successful
CF set on error (caller is not remote user)
Note: any terminal driver data translation will be bypassed
SeeAlso: AH=C3h,AH=C7h
--------N-7FC7-------------------------------
INT 7F - Alloy MW386 - READ CONSOLE DATA BYTE
AH = C7h
Return: CF clear if successful
AL = byte read
CF set on error (no data available or caller is not remote user)
Note: used to read data after placing console in mode 2 or 3 (see AH=C5h)
SeeAlso: AH=C5h,AH=C6h,AH=C8h
--------N-7FC8-------------------------------
INT 7F - Alloy MW386 - READ CONSOLE DATA INTO BUFFER
AH = C8h
AL = maximum bytes to read
ES:DI -> buffer for console data
Return: CF clear if successful
CX = number of bytes read
CF set on error (caller is not remote user)
SeeAlso: AH=C7h
--------N-7FCF-------------------------------
INT 7F - Alloy NTNX - REBOOT USER PROCESSOR
AH = CFh
DS:DX -> ASCIZ string containing user number to be reset
SeeAlso: AH=D6h
--------N-7FD6-------------------------------
INT 7F - Alloy MW386 - RESET NETWORK EXECUTIVE
AH = D6h
DS:DX -> reset packet (see #3219)
Return: never if successful
Note: all users will be shut down immediately if successful
SeeAlso: AH=CFh
Format of Alloy MW386 reset packet:
Offset Size Description (Table 3219)
00h DWORD reset code (60606060h)
04h 16 BYTEs ASCIZ supervisor password padded with nulls
--------N-7FD7-------------------------------
INT 7F - Alloy MW386 - POST EVENT
AH = D7h
AL = user number (if local event)
DX = event number
--------N-7FD8-------------------------------
INT 7F - Alloy MW386 - FLUSH DISK BUFFERS
AH = D8h
Return: CF set on error
Note: forces all disk buffers to be written out immediately
SeeAlso: INT 21/AH=0Dh,INT 21/AX=5D01h,INT 2F/AX=1120h
--------N-7FDB-------------------------------
INT 7F - Alloy MW386 v2+ - GET MW386 INVOCATION DRIVE
AH = DBh
Return: AL = drive from which MW386 was started (2=C:,3=D:,etc)
--------N-7FE0-------------------------------
INT 7F - Alloy MW386 - CREATE DOS TASK
AH = E0h
AL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
DS:DX -> ASCIZ task name (max 16 bytes)
Return: CF clear if successful
AL = task create ID
CF set on error
Note: only foreground DOS tasks can use this function
SeeAlso: AH=E1h,AH=E2h,AH=E3h,AH=E6h,AH=E7h
--------N-7FE1-------------------------------
INT 7F - Alloy MW386 - GET DOS TASK PID FROM CREATE ID
AH = E1h
AL = create ID (from AH=E0h)
Return: AL = DOS process number
CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
Note: this function should not be called immediately after creating a new
DOS task, since the new task is being initialized by a concurrent
process
SeeAlso: AH=E0h,AH=E2h
--------N-7FE2-------------------------------
INT 7F - Alloy MW386 - SWITCH TO NEW DOS TASK
AH = E2h
AL = DOS process number (from AH=E1h)
Return: CF set on error (invalid process number or caller not foreground task)
Notes: specified task becomes the foreground task and current task is placed
in the background
may only be called by a foreground task
SeeAlso: AH=E0h,AH=E1h
--------N-7FE3-------------------------------
INT 7F - Alloy MW386 - CHANGE NAME OF DOS TASK
AH = E3h
DS:DX -> ASCIZ task name
---v1.x---
AL = user number
---v2+---
BH = user number
BL = task number
Return: CF clear if successful
CF set on error (invalid process number)
SeeAlso: AH=E0h,AH=E4h,AH=E5h
--------N-7FE4-------------------------------
INT 7F - Alloy MW386 - GET TASK NAME FROM PROCESS NUMBER
AH = E4h
ES:DI -> buffer for task name
---v1.x---
AL = user number
---v2+---
BH = user number
BL = task number
Return: CF clear if successful
CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
DX = task flags
bit 7: MS-DOS process
ES:DI buffer filled
CF set on error (invalid process number)
SeeAlso: AH=E3h,AH=E5h
--------N-7FE5-------------------------------
INT 7F - Alloy MW386 - GET PROCESS NUMBER FROM TASK NAME
AH = E5h
DS:DX -> ASCIZ task name
BH = user number
Return: CF clear if successful
AL = DOS process number
CL = memory size (00h=128K, 01h=256K, 02h=384K, 03h=512K, 04h=640K)
CF set on error (no match for name)
SeeAlso: AH=E3h,AH=E4h
--------N-7FE6-------------------------------
INT 7F - Alloy MW386 - GET NUMBER OF AVAILABLE USER TASKS
AH = E6h
Return: AX = number of processes available to current user
SeeAlso: AH=E0h
--------N-7FE7-------------------------------
INT 7F - Alloy MW386 - REMOVE DOS TASK
AH = E7h
AL = DOS process number
Return: CF clear if successful
CF set on error (invalid process number or first process)
Note: can only be called by a foreground task
SeeAlso: AH=E0h
--------N-7FE8-------------------------------
INT 7F - Alloy MW386 - DOS TASK DELAY
AH = E8h
CX = delay time in milliseconds
Note: a delay of 0 may be used to surrender the current time slice
SeeAlso: INT 15/AX=1000h,INT 1A/AX=FF01h,INT 21/AH=EEh"DoubleDOS"
SeeAlso: INT 2F/AX=1680h
--------N-7FF0-------------------------------
INT 7F - Alloy MW386 - RESTRICT DIRECTORY TO GROUP
AH = F0h
AL = group number
DS:DX -> ASCIZ directory name
Return: CF clear if successful
AX = status
0002h directory not found
0003h directory not found
0005h directory in use, cannot be restricted
02xxh restricted to group xxh
CF set on error
Note: the restriction on the directory may be removed by calling this
function with group 0, then using AH=F1h to assign the directory to
group 0
SeeAlso: AH=F1h,AH=F2h,AH=F3h
--------N-7FF1-------------------------------
INT 7F - Alloy MW386 - ASSIGN DIRECTORY TO GROUP
AH = F1h
AL = group number
DS:DX -> ASCIZ directory name
Notes: performs permanent assignment to a group; no immediate action is taken
unless the directory has been restricted with AH=F0h
may be used to restrict a nonexistent directory
SeeAlso: AH=F0h
--------N-7FF2-------------------------------
INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY
AH = F2h
CX = entry number
ES:DI -> 64-byte buffer
Return: CF clear if successful
buffer filled with 63-byte directory info and 1-byte group number
CF set on error (invalid entry)
SeeAlso: AH=F0h,AH=F3h
--------N-7FF3-------------------------------
INT 7F - Alloy MW386 - READ RESTRICTED DIRECTORY ENTRY FOR GROUP
AH = F3h
AL = group number
CX = entry number
ES:DI -> 64-byte buffer
Return: CF clear if successful
CX = next entry number
buffer filled with 63-byte directory info and 1-byte group number
CF set on error (no more matching entries)
Note: like AH=F2h, but only returns directories belonging to the specified
group
SeeAlso: AH=F2h
--------N-7FF8-------------------------------
INT 7F - Alloy MW386 - ASSIGN USER TO GROUP
AH = F8h
AL = group number
DL = user number
DH = machine number (currently 00h)
Return: CF clear if successful
CF set on error (user already in maximum number of groups)
Note: each user is allowed eight group assignments
SeeAlso: AH=F9h,AH=FAh
--------N-7FF9-------------------------------
INT 7F - Alloy MW386 - REMOVE USER FROM GROUP
AH = F9h
AL = group number
DL = user number
DH = machine number (currently 00h)
Return: CF clear if successful
CF set if failed
SeeAlso: AH=F8h,AH=FAh
--------N-7FFA-------------------------------
INT 7F - Alloy MW386 - GET USER GROUP LIST
AH = FAh
DL = user number
DH = machine number (currently 00h)
ES:DI -> 16-byte buffer for group list
Return: CX = number of groups
ES:DI buffer filled with group numbers
SeeAlso: AH=F8h,AH=F9h
--------N-7FFB-------------------------------
INT 7F - Alloy MW386 - ASSIGN GROUP NAME
AH = FBh
CL = group number
ES:DI -> ASCIZ group name (max 17 bytes)
SeeAlso: AH=FCh
--------N-7FFC-------------------------------
INT 7F - Alloy MW386 - GET GROUP NAME
AH = FCh
CL = group number
ES:DI -> 17-byte buffer for ASCIZ name
Return: ES:DI buffer filled
Note: if the group has not been named, "(unnamed)" is returned
SeeAlso: AH=FBh
--------!---Section--------------------------